[lvm-devel] [PATCH] update dmeventd plugins to use proper lvm2_log_fn_t
Takahiro Yasui
tyasui at redhat.com
Fri Sep 25 22:15:54 UTC 2009
Hi Mike,
I built the latest lvm2 but the following error messages were
displayed.
dmeventd_mirror.c: In function 'register_device':
dmeventd_mirror.c:256: warning: passing argument 1 of 'lvm2_log_fn' from incompatible pointer type
...
dmeventd_snapshot.c: In function 'register_device':
dmeventd_snapshot.c:170: warning: passing argument 1 of 'lvm2_log_fn' from incompatible pointer type
The prototype definition in lvm2cmd.h also needs to be updated.
Thanks,
Taka
--
Takahiro Yasui
Hitachi Computer Products (America), Inc.
Signed-off-by: Takahiro Yasui <tyasui at redhat.com>
---
tools/lvm2cmd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: LVM2.02.53-20090925/tools/lvm2cmd.h
===================================================================
--- LVM2.02.53-20090925.orig/tools/lvm2cmd.h
+++ LVM2.02.53-20090925/tools/lvm2cmd.h
@@ -18,7 +18,7 @@
#ifndef _LVM_LOG_H
typedef void (*lvm2_log_fn_t) (int level, const char *file, int line,
- const char *message);
+ int dm_errno, const char *message);
#endif
#define LVM2_LOG_SUPPRESS 0
Mike Snitzer wrote:
> The dmeventd plugins provide their own _temporary_log_fn. But they were
> not updated when lvm2_log_fn_t was last updated, see:
> http://sources.redhat.com/git/?p=lvm2.git;a=commit;h=0ed40c04c
>
> I verified this patch fixes a SEGV seen in the dmeventd snapshot plugin:
>
> # lvs
> LV VG Attr LSize Origin Snap% Move Log Copy% Convert
> testlv test owi-a- 300.00M
> testlv_snap test swi-ao 52.00M testlv 92.68
> # vgchange --monitor y test
> 2 logical volume(s) in volume group "test" monitored
>
> and messages file shows:
>
> Sep 16 21:15:05 really-raw dmeventd[12522]: dmeventd ready for processing.
> Sep 16 21:15:11 really-raw lvm[12522]: Monitoring snapshot test-testlv_snap
> Sep 16 21:15:15 really-raw lvm[12522]: Snapshot test-testlv_snap is now 92% full.
>
> Signed-off-by: Mike Snitzer <snitzer at redhat.com>
>
> ---
> diff --git a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
> index 8869e80..503ec0d 100644
> --- a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
> +++ b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
> @@ -126,8 +126,10 @@ out_parse:
> return ME_IGNORE;
> }
>
> -static void _temporary_log_fn(int level, const char *file __attribute((unused)),
> +static void _temporary_log_fn(int level,
> + const char *file __attribute((unused)),
> int line __attribute((unused)),
> + int dm_errno __attribute((unused)),
> const char *format)
> {
> if (!strncmp(format, "WARNING: ", 9) && (level < 5))
> diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
> index 3e250af..96c4688 100644
> --- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
> +++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
> @@ -57,6 +57,7 @@ static pthread_mutex_t _event_mutex = PTHREAD_MUTEX_INITIALIZER;
> static void _temporary_log_fn(int level,
> const char *file __attribute((unused)),
> int line __attribute((unused)),
> + int dm_errno __attribute((unused)),
> const char *format)
> {
> if (!strncmp(format, "WARNING: ", 9) && (level < 5))
>
> --
> lvm-devel mailing list
> lvm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/lvm-devel
More information about the lvm-devel
mailing list