* [PATCH 0/6] Misc code updates
@ 2010-07-07 12:29 Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 1/6] Fix compiler warning about strict-aliasing break Zdenek Kabelac
` (5 more replies)
0 siblings, 6 replies; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
Small patchset contains various bits of code I keep in front of my tree.
First strict-aliasing is a bit contraversional and needs bigger review.
Configure patch basicaly cleanups help strings with the use of
AC_HELP_STRING.
Nextbit patch is tiny code optimization.
Backtrace patch skips printing of backtrace in the log if the situation
is not an error case.
Memlock slightly modifies memory map printing.
Last patch for dmsetup returns '0' exist status when showing option help.
Zdenek Kabelac (6):
Fix compiler warning about strict-aliasing break
configure changes - AC_HELP_STRING, AH_TEMPLATE
nextbit
Do not show backtrace
Better alligned debug message - memlock
Exit status 0 for 'dmsetup -c -o help'
configure | 100 +++++++++++++++++++++------------------------
configure.in | 76 +++++++++++++++++++---------------
lib/activate/activate.c | 6 ++-
lib/device/device.c | 18 ++++----
lib/mm/memlock.c | 7 ++-
libdm/datastruct/bitset.c | 4 +-
tools/dmsetup.c | 1 +
7 files changed, 109 insertions(+), 103 deletions(-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/6] Fix compiler warning about strict-aliasing break
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-10-06 15:04 ` Petr Rockai
2010-07-07 12:29 ` [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE Zdenek Kabelac
` (4 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
This patch not really tested - and just show a possible solution
for strict-alliasing error.
So patch is just a proposal of one of many solution.
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
lib/device/device.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lib/device/device.c b/lib/device/device.c
index 7f9f40c..d24e8b3 100644
--- a/lib/device/device.c
+++ b/lib/device/device.c
@@ -58,9 +58,11 @@ static int _has_partition_table(struct device *dev)
{
int ret = 0;
unsigned p;
- uint16_t buf[SECTOR_SIZE/sizeof(uint16_t)];
- uint16_t *part_magic;
- struct partition *part;
+ struct {
+ uint8_t skip[PART_OFFSET];
+ struct partition part[4];
+ uint16_t magic;
+ } __attribute__((packed)) buf; /* sizeof() == SECTOR_SIZE */
if (!dev_read(dev, UINT64_C(0), sizeof(buf), &buf))
return_0;
@@ -68,17 +70,15 @@ static int _has_partition_table(struct device *dev)
/* FIXME Check for other types of partition table too */
/* Check for msdos partition table */
- part_magic = buf + PART_MAGIC_OFFSET/sizeof(buf[0]);
- if ((*part_magic == xlate16(PART_MAGIC))) {
- part = (struct partition *) (buf + PART_OFFSET/sizeof(buf[0]));
- for (p = 0; p < 4; p++, part++) {
+ if (buf.magic == xlate16(PART_MAGIC)) {
+ for (p = 0; p < 4; ++p) {
/* Table is invalid if boot indicator not 0 or 0x80 */
- if ((part->boot_ind & 0x7f)) {
+ if (buf.part[p].boot_ind & 0x7f) {
ret = 0;
break;
}
/* Must have at least one non-empty partition */
- if (part->nr_sects)
+ if (buf.part[p].nr_sects)
ret = 1;
}
}
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 1/6] Fix compiler warning about strict-aliasing break Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-07-07 18:10 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 3/6] nextbit Zdenek Kabelac
` (3 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
change don't -> do not
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
configure | 100 +++++++++++++++++++++++++++------------------------------
configure.in | 76 ++++++++++++++++++++++++--------------------
2 files changed, 89 insertions(+), 87 deletions(-)
diff --git a/configure b/configure
index d11af6a..62e4588 100755
--- a/configure
+++ b/configure
@@ -1535,7 +1535,7 @@ Optional Features:
--enable-udev_rules Install rule files needed for udev synchronisation
--enable-compat Enable support for old device-mapper versions
--enable-units-compat Enable output compatibility with old versions that
- that don't use KiB-style unit suffixes
+ that do not use KiB-style unit suffixes
--disable-driver Disable calls to device-mapper in the kernel
--disable-o_direct Disable O_DIRECT
--enable-applib Build application library
@@ -1575,7 +1575,8 @@ Optional Packages:
* all (autodetect)
* none (disable build)
TYPE=none
- --with-cmirrord-pidfile=PATH cmirrord pidfile [/var/run/cmirrord.pid]
+ --with-cmirrord-pidfile=PATH
+ cmirrord pidfile [/var/run/cmirrord.pid]
--with-optimisation=OPT C optimisation flag [OPT=-O2]
--with-localedir=DIR Translation files in DIR [PREFIX/share/locale]
--with-confdir=DIR Configuration files in DIR [/etc]
@@ -1584,13 +1585,20 @@ Optional Packages:
--with-usrsbindir=DIR
--with-udev-prefix=UPREFIX Install udev rule files in UPREFIX [EPREFIX]
--with-udevdir=DIR udev rules in DIR [UPREFIX/lib/udev/rules.d]
- --with-dmeventd-pidfile=PATH dmeventd pidfile [/var/run/dmeventd.pid]
- --with-dmeventd-path=PATH dmeventd path [EPREFIX/sbin/dmeventd]
- --with-default-system-dir=DIR Default LVM system directory [/etc/lvm]
- --with-default-archive-subdir=SUBDIR Default metadata archive subdir [archive]
- --with-default-backup-subdir=SUBDIR Default metadata backup subdir [backup]
- --with-default-cache-subdir=SUBDIR Default metadata cache subdir [cache]
- --with-default-locking-dir=DIR Default locking directory [/var/lock/lvm]
+ --with-dmeventd-pidfile=PATH
+ dmeventd pidfile [/var/run/dmeventd.pid]
+ --with-dmeventd-path=PATH
+ dmeventd path [EPREFIX/sbin/dmeventd]
+ --with-default-system-dir=DIR
+ Default LVM system directory [/etc/lvm]
+ --with-default-archive-subdir=SUBDIR
+ Default metadata archive subdir [archive]
+ --with-default-backup-subdir=SUBDIR
+ Default metadata backup subdir [backup]
+ --with-default-cache-subdir=SUBDIR
+ Default metadata cache subdir [cache]
+ --with-default-locking-dir=DIR
+ Default locking directory [/var/lock/lvm]
--with-interface=IFACE Choose kernel interface (ioctl) [ioctl]
Some influential environment variables:
@@ -13836,23 +13844,20 @@ $as_echo "$CMIRRORD" >&6; }
BUILD_CMIRRORD=$CMIRRORD
################################################################################
-
-
if test "x$BUILD_CMIRRORD" = xyes; then
# Check whether --with-cmirrord-pidfile was given.
if test "${with_cmirrord_pidfile+set}" = set; then
- withval=$with_cmirrord_pidfile; cat >>confdefs.h <<_ACEOF
-#define CMIRRORD_PIDFILE "$withval"
-_ACEOF
-
+ withval=$with_cmirrord_pidfile; CMIRRORD_PIDFILE=$withval
else
- cat >>confdefs.h <<_ACEOF
-#define CMIRRORD_PIDFILE "/var/run/cmirrord.pid"
-_ACEOF
-
+ CMIRRORD_PIDFILE="/var/run/cmirrord.pid"
fi
+
+cat >>confdefs.h <<_ACEOF
+#define CMIRRORD_PIDFILE "$CMIRRORD_PIDFILE"
+_ACEOF
+
fi
################################################################################
@@ -17651,115 +17656,104 @@ _ACEOF
fi
################################################################################
-
-
if test "$BUILD_DMEVENTD" = yes; then
# Check whether --with-dmeventd-pidfile was given.
if test "${with_dmeventd_pidfile+set}" = set; then
- withval=$with_dmeventd_pidfile; cat >>confdefs.h <<_ACEOF
-#define DMEVENTD_PIDFILE "$withval"
-_ACEOF
-
+ withval=$with_dmeventd_pidfile; DMEVENTD_PIDFILE=$withval
else
- cat >>confdefs.h <<_ACEOF
-#define DMEVENTD_PIDFILE "/var/run/dmeventd.pid"
-_ACEOF
-
+ DMEVENTD_PIDFILE="/var/run/dmeventd.pid"
fi
-fi
+cat >>confdefs.h <<_ACEOF
+#define DMEVENTD_PIDFILE "$DMEVENTD_PIDFILE"
+_ACEOF
+fi
if test "$BUILD_DMEVENTD" = yes; then
# Check whether --with-dmeventd-path was given.
if test "${with_dmeventd_path+set}" = set; then
- withval=$with_dmeventd_path; cat >>confdefs.h <<_ACEOF
-#define DMEVENTD_PATH "$withval"
-_ACEOF
-
+ withval=$with_dmeventd_path; DMEVENTD_PATH=$withval
else
- cat >>confdefs.h <<_ACEOF
-#define DMEVENTD_PATH "$lvm_exec_prefix/sbin/dmeventd"
-_ACEOF
-
+ DMEVENTD_PATH="$lvm_exec_prefix/sbin/dmeventd"
fi
-fi
-################################################################################
+cat >>confdefs.h <<_ACEOF
+#define DMEVENTD_PATH "$DMEVENTD_PATH"
+_ACEOF
+fi
+################################################################################
# Check whether --with-default-system-dir was given.
if test "${with_default_system_dir+set}" = set; then
- withval=$with_default_system_dir; DEFAULT_SYS_DIR="$withval"
+ withval=$with_default_system_dir; DEFAULT_SYS_DIR=$withval
else
DEFAULT_SYS_DIR="/etc/lvm"
fi
+
cat >>confdefs.h <<_ACEOF
#define DEFAULT_SYS_DIR "$DEFAULT_SYS_DIR"
_ACEOF
-
-
# Check whether --with-default-archive-subdir was given.
if test "${with_default_archive_subdir+set}" = set; then
- withval=$with_default_archive_subdir; DEFAULT_ARCHIVE_SUBDIR="$withval"
+ withval=$with_default_archive_subdir; DEFAULT_ARCHIVE_SUBDIR=$withval
else
DEFAULT_ARCHIVE_SUBDIR="archive"
fi
+
cat >>confdefs.h <<_ACEOF
#define DEFAULT_ARCHIVE_SUBDIR "$DEFAULT_ARCHIVE_SUBDIR"
_ACEOF
-
-
# Check whether --with-default-backup-subdir was given.
if test "${with_default_backup_subdir+set}" = set; then
- withval=$with_default_backup_subdir; DEFAULT_BACKUP_SUBDIR="$withval"
+ withval=$with_default_backup_subdir; DEFAULT_BACKUP_SUBDIR=$withval
else
DEFAULT_BACKUP_SUBDIR="backup"
fi
+
cat >>confdefs.h <<_ACEOF
#define DEFAULT_BACKUP_SUBDIR "$DEFAULT_BACKUP_SUBDIR"
_ACEOF
-
-
# Check whether --with-default-cache-subdir was given.
if test "${with_default_cache_subdir+set}" = set; then
- withval=$with_default_cache_subdir; DEFAULT_CACHE_SUBDIR="$withval"
+ withval=$with_default_cache_subdir; DEFAULT_CACHE_SUBDIR=$withval
else
DEFAULT_CACHE_SUBDIR="cache"
fi
+
cat >>confdefs.h <<_ACEOF
#define DEFAULT_CACHE_SUBDIR "$DEFAULT_CACHE_SUBDIR"
_ACEOF
-
-
# Check whether --with-default-locking-dir was given.
if test "${with_default_locking_dir+set}" = set; then
- withval=$with_default_locking_dir; DEFAULT_LOCK_DIR="$withval"
+ withval=$with_default_locking_dir; DEFAULT_LOCK_DIR=$withval
else
DEFAULT_LOCK_DIR="/var/lock/lvm"
fi
+
cat >>confdefs.h <<_ACEOF
#define DEFAULT_LOCK_DIR "$DEFAULT_LOCK_DIR"
_ACEOF
diff --git a/configure.in b/configure.in
index a8a5b92..e35b027 100644
--- a/configure.in
+++ b/configure.in
@@ -599,12 +599,11 @@ BUILD_CMIRRORD=$CMIRRORD
################################################################################
dnl -- cmirrord pidfile
-AH_TEMPLATE(CMIRRORD_PIDFILE, [Path to cmirrord pidfile.])
if test "x$BUILD_CMIRRORD" = xyes; then
AC_ARG_WITH(cmirrord-pidfile,
- [ --with-cmirrord-pidfile=PATH cmirrord pidfile [[/var/run/cmirrord.pid]] ],
- [ AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE,"$withval") ],
- [ AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE,"/var/run/cmirrord.pid") ])
+ AC_HELP_STRING([--with-cmirrord-pidfile=PATH], [cmirrord pidfile [[/var/run/cmirrord.pid]] ]),
+ [ CMIRRORD_PIDFILE=$withval ], [ CMIRRORD_PIDFILE="/var/run/cmirrord.pid" ])
+ AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE, ["$CMIRRORD_PIDFILE"], [Path to cmirrord pidfile.])
fi
################################################################################
@@ -710,8 +709,8 @@ AC_ARG_ENABLE(compat, [ --enable-compat Enable support for old device
################################################################################
dnl -- Compatible units suffix mode
AC_ARG_ENABLE(units-compat,
- [ --enable-units-compat Enable output compatibility with old versions that
- that don't use KiB-style unit suffixes],
+ AC_HELP_STRING([--enable-units-compat],
+ [Enable output compatibility with old versions that that do not use KiB-style unit suffixes]),
UNITS_COMPAT=$enableval, UNITS_COMPAT=no)
if test x$UNITS_COMPAT = xyes; then
@@ -1042,58 +1041,67 @@ fi
################################################################################
dnl -- dmeventd pidfile and executable path
-AH_TEMPLATE(DMEVENTD_PIDFILE, [Path to dmeventd pidfile.])
if test "$BUILD_DMEVENTD" = yes; then
AC_ARG_WITH(dmeventd-pidfile,
- [ --with-dmeventd-pidfile=PATH dmeventd pidfile [[/var/run/dmeventd.pid]] ],
- [ AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE,"$withval") ],
- [ AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE,"/var/run/dmeventd.pid") ])
+ AC_HELP_STRING([--with-dmeventd-pidfile=PATH],
+ [dmeventd pidfile [[/var/run/dmeventd.pid]]]),
+ [ DMEVENTD_PIDFILE=$withval ],
+ [ DMEVENTD_PIDFILE="/var/run/dmeventd.pid" ])
+ AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE, ["$DMEVENTD_PIDFILE"],
+ [Path to dmeventd pidfile.])
fi
-AH_TEMPLATE(DMEVENTD_PATH, [Path to dmeventd binary.])
if test "$BUILD_DMEVENTD" = yes; then
AC_ARG_WITH(dmeventd-path,
- [ --with-dmeventd-path=PATH dmeventd path [[EPREFIX/sbin/dmeventd]] ],
- [ AC_DEFINE_UNQUOTED(DMEVENTD_PATH,"$withval") ],
- [ AC_DEFINE_UNQUOTED(DMEVENTD_PATH,"$lvm_exec_prefix/sbin/dmeventd") ])
+ AC_HELP_STRING([--with-dmeventd-path=PATH],
+ [dmeventd path [[EPREFIX/sbin/dmeventd]]]),
+ [ DMEVENTD_PATH=$withval ],
+ [ DMEVENTD_PATH="$lvm_exec_prefix/sbin/dmeventd" ])
+ AC_DEFINE_UNQUOTED(DMEVENTD_PATH, ["$DMEVENTD_PATH"],
+ [Path to dmeventd binary.])
fi
################################################################################
dnl -- various defaults
-AH_TEMPLATE(DEFAULT_SYS_DIR, [Path to LVM system directory.])
AC_ARG_WITH(default-system-dir,
- [ --with-default-system-dir=DIR Default LVM system directory [[/etc/lvm]] ],
- [ DEFAULT_SYS_DIR="$withval" ],
+ AC_HELP_STRING([--with-default-system-dir=DIR],
+ [Default LVM system directory [[/etc/lvm]]]),
+ [ DEFAULT_SYS_DIR=$withval ],
[ DEFAULT_SYS_DIR="/etc/lvm" ])
-AC_DEFINE_UNQUOTED(DEFAULT_SYS_DIR,["$DEFAULT_SYS_DIR"] )
+AC_DEFINE_UNQUOTED(DEFAULT_SYS_DIR, ["$DEFAULT_SYS_DIR"],
+ [Path to LVM system directory.])
-AH_TEMPLATE(DEFAULT_ARCHIVE_SUBDIR, [Name of default metadata archive subdirectory.])
AC_ARG_WITH(default-archive-subdir,
- [ --with-default-archive-subdir=SUBDIR Default metadata archive subdir [[archive]] ],
- [ DEFAULT_ARCHIVE_SUBDIR="$withval" ],
+ AC_HELP_STRING([--with-default-archive-subdir=SUBDIR],
+ [Default metadata archive subdir [[archive]]]),
+ [ DEFAULT_ARCHIVE_SUBDIR=$withval ],
[ DEFAULT_ARCHIVE_SUBDIR="archive" ])
-AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE_SUBDIR,["$DEFAULT_ARCHIVE_SUBDIR"])
+AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE_SUBDIR, ["$DEFAULT_ARCHIVE_SUBDIR"],
+ [Name of default metadata archive subdirectory.])
-AH_TEMPLATE(DEFAULT_BACKUP_SUBDIR, [Name of default metadata backup subdirectory.])
AC_ARG_WITH(default-backup-subdir,
- [ --with-default-backup-subdir=SUBDIR Default metadata backup subdir [[backup]] ],
- [ DEFAULT_BACKUP_SUBDIR="$withval" ],
+ AC_HELP_STRING([--with-default-backup-subdir=SUBDIR],
+ [Default metadata backup subdir [[backup]]]),
+ [ DEFAULT_BACKUP_SUBDIR=$withval ],
[ DEFAULT_BACKUP_SUBDIR="backup" ])
-AC_DEFINE_UNQUOTED(DEFAULT_BACKUP_SUBDIR,["$DEFAULT_BACKUP_SUBDIR"] )
+AC_DEFINE_UNQUOTED(DEFAULT_BACKUP_SUBDIR, ["$DEFAULT_BACKUP_SUBDIR"],
+ [Name of default metadata backup subdirectory.])
-AH_TEMPLATE(DEFAULT_CACHE_SUBDIR, [Name of default metadata cache subdirectory.])
AC_ARG_WITH(default-cache-subdir,
- [ --with-default-cache-subdir=SUBDIR Default metadata cache subdir [[cache]] ],
- [ DEFAULT_CACHE_SUBDIR="$withval" ],
+ AC_HELP_STRING([--with-default-cache-subdir=SUBDIR],
+ [Default metadata cache subdir [[cache]]]),
+ [ DEFAULT_CACHE_SUBDIR=$withval ],
[ DEFAULT_CACHE_SUBDIR="cache" ])
-AC_DEFINE_UNQUOTED(DEFAULT_CACHE_SUBDIR,["$DEFAULT_CACHE_SUBDIR"] )
+AC_DEFINE_UNQUOTED(DEFAULT_CACHE_SUBDIR, ["$DEFAULT_CACHE_SUBDIR"],
+ [Name of default metadata cache subdirectory.])
-AH_TEMPLATE(DEFAULT_LOCK_DIR, [Name of default locking directory.])
AC_ARG_WITH(default-locking-dir,
- [ --with-default-locking-dir=DIR Default locking directory [[/var/lock/lvm]] ],
- [ DEFAULT_LOCK_DIR="$withval" ],
+ AC_HELP_STRING([--with-default-locking-dir=DIR],
+ [Default locking directory [[/var/lock/lvm]]]),
+ [ DEFAULT_LOCK_DIR=$withval ],
[ DEFAULT_LOCK_DIR="/var/lock/lvm" ])
-AC_DEFINE_UNQUOTED(DEFAULT_LOCK_DIR,["$DEFAULT_LOCK_DIR"] )
+AC_DEFINE_UNQUOTED(DEFAULT_LOCK_DIR, ["$DEFAULT_LOCK_DIR"],
+ [Name of default locking directory.])
################################################################################
dnl -- which kernel interface to use (ioctl only)
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/6] nextbit
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 1/6] Fix compiler warning about strict-aliasing break Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-07-07 18:49 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 4/6] Do not show backtrace Zdenek Kabelac
` (2 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
libdm/datastruct/bitset.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c
index 9b8aff9..563f684 100644
--- a/libdm/datastruct/bitset.c
+++ b/libdm/datastruct/bitset.c
@@ -69,9 +69,9 @@ void dm_bit_union(dm_bitset_t out, dm_bitset_t in1, dm_bitset_t in2)
static int _test_word(uint32_t test, int bit)
{
- int next_set_bit;
+ uint32_t tb = test >> bit;
- return ((next_set_bit = ffs(test >> bit)) ? next_set_bit + bit - 1 : -1);
+ return (tb ? ffs(tb) + bit - 1 : -1);
}
int dm_bit_get_next(dm_bitset_t bs, int last_bit)
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/6] Do not show backtrace
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
` (2 preceding siblings ...)
2010-07-07 12:29 ` [PATCH 3/6] nextbit Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-07-07 18:54 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 5/6] Better alligned debug message - memlock Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help' Zdenek Kabelac
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
When we expect this state and behavior is correct.
FIXME: Add resonable error message instead of 'goto_out'
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
lib/activate/activate.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 2128c41..7edd728 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -961,8 +961,10 @@ static int _lv_resume(struct cmd_context *cmd, const char *lvid_s,
goto_out;
if (!info.exists || !info.suspended) {
- r = error_if_not_active ? 0 : 1;
- goto_out;
+ if (error_if_not_active)
+ goto_out;
+ r = 1;
+ goto out;
}
if (!_lv_activate_lv(lv))
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/6] Better alligned debug message - memlock
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
` (3 preceding siblings ...)
2010-07-07 12:29 ` [PATCH 4/6] Do not show backtrace Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-07-07 18:19 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help' Zdenek Kabelac
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
lib/mm/memlock.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c
index bc18c0d..de1f777 100644
--- a/lib/mm/memlock.c
+++ b/lib/mm/memlock.c
@@ -137,7 +137,8 @@ static int _maps_line(struct cmd_context *cmd, lvmlock_t lock,
/* Select readable maps */
if (fr != 'r') {
- log_debug("mlock area unreadable '%s': Skipping.", line);
+ log_debug("m%slock area unreadable %s : Skipping.",
+ (lock == LVM_MLOCK) ? "" : "un", line);
return 1;
}
@@ -171,8 +172,8 @@ static int _maps_line(struct cmd_context *cmd, lvmlock_t lock,
}
*mstats += sz;
- log_debug("%s %10ldKiB %12lx - %12lx %c%c%c%c %s",
- (lock == LVM_MLOCK) ? "mlock" : "munlock",
+ log_debug("m%slock %10ldKiB %12lx - %12lx %c%c%c%c%s",
+ (lock == LVM_MLOCK) ? "" : "un",
((long)sz + 1023) / 1024, from, to, fr, fw, fx, fp, line + pos);
if (lock == LVM_MLOCK) {
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help'
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
` (4 preceding siblings ...)
2010-07-07 12:29 ` [PATCH 5/6] Better alligned debug message - memlock Zdenek Kabelac
@ 2010-07-07 12:29 ` Zdenek Kabelac
2010-07-07 18:16 ` Alasdair G Kergon
5 siblings, 1 reply; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-07 12:29 UTC (permalink / raw)
To: lvm-devel
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
---
tools/dmsetup.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools/dmsetup.c b/tools/dmsetup.c
index 5e71542..479cbb0 100644
--- a/tools/dmsetup.c
+++ b/tools/dmsetup.c
@@ -3340,6 +3340,7 @@ int main(int argc, char **argv)
}
if (argc == 0) {
+ r = 0;
_usage(stderr);
goto out;
}
--
1.7.1.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE
2010-07-07 12:29 ` [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE Zdenek Kabelac
@ 2010-07-07 18:10 ` Alasdair G Kergon
0 siblings, 0 replies; 14+ messages in thread
From: Alasdair G Kergon @ 2010-07-07 18:10 UTC (permalink / raw)
To: lvm-devel
Whatever.
Ack.
Alasdair
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help'
2010-07-07 12:29 ` [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help' Zdenek Kabelac
@ 2010-07-07 18:16 ` Alasdair G Kergon
2010-07-08 15:46 ` Zdenek Kabelac
0 siblings, 1 reply; 14+ messages in thread
From: Alasdair G Kergon @ 2010-07-07 18:16 UTC (permalink / raw)
To: lvm-devel
On Wed, Jul 07, 2010 at 02:29:36PM +0200, Zdenek Kabelac wrote:
> diff --git a/tools/dmsetup.c b/tools/dmsetup.c
> index 5e71542..479cbb0 100644
> --- a/tools/dmsetup.c
> +++ b/tools/dmsetup.c
> @@ -3340,6 +3340,7 @@ int main(int argc, char **argv)
> }
>
> if (argc == 0) {
> + r = 0;
> _usage(stderr);
> goto out;
How does that work?
# dmsetup
Should give failure status.
(It already does.)
# dmsetup help
Should give success.
(It already does.)
# dmsetup -c -o help
Should give success.
(It doesn't.)
Alasdair
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 5/6] Better alligned debug message - memlock
2010-07-07 12:29 ` [PATCH 5/6] Better alligned debug message - memlock Zdenek Kabelac
@ 2010-07-07 18:19 ` Alasdair G Kergon
0 siblings, 0 replies; 14+ messages in thread
From: Alasdair G Kergon @ 2010-07-07 18:19 UTC (permalink / raw)
To: lvm-devel
Ack.
On Wed, Jul 07, 2010 at 02:29:35PM +0200, Zdenek Kabelac wrote:
> - log_debug("%s %10ldKiB %12lx - %12lx %c%c%c%c %s",
> - (lock == LVM_MLOCK) ? "mlock" : "munlock",
> + log_debug("m%slock %10ldKiB %12lx - %12lx %c%c%c%c%s",
> + (lock == LVM_MLOCK) ? "" : "un",
?!
Alasdair
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/6] nextbit
2010-07-07 12:29 ` [PATCH 3/6] nextbit Zdenek Kabelac
@ 2010-07-07 18:49 ` Alasdair G Kergon
0 siblings, 0 replies; 14+ messages in thread
From: Alasdair G Kergon @ 2010-07-07 18:49 UTC (permalink / raw)
To: lvm-devel
Ack
Alasdair
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 4/6] Do not show backtrace
2010-07-07 12:29 ` [PATCH 4/6] Do not show backtrace Zdenek Kabelac
@ 2010-07-07 18:54 ` Alasdair G Kergon
0 siblings, 0 replies; 14+ messages in thread
From: Alasdair G Kergon @ 2010-07-07 18:54 UTC (permalink / raw)
To: lvm-devel
Ack.
Alasdair
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help'
2010-07-07 18:16 ` Alasdair G Kergon
@ 2010-07-08 15:46 ` Zdenek Kabelac
0 siblings, 0 replies; 14+ messages in thread
From: Zdenek Kabelac @ 2010-07-08 15:46 UTC (permalink / raw)
To: lvm-devel
Dne 7.7.2010 20:16, Alasdair G Kergon napsal(a):
> On Wed, Jul 07, 2010 at 02:29:36PM +0200, Zdenek Kabelac wrote:
>> diff --git a/tools/dmsetup.c b/tools/dmsetup.c
>> index 5e71542..479cbb0 100644
>> --- a/tools/dmsetup.c
>> +++ b/tools/dmsetup.c
>> @@ -3340,6 +3340,7 @@ int main(int argc, char **argv)
>> }
>>
>> if (argc == 0) {
>> + r = 0;
>> _usage(stderr);
>> goto out;
>
> How does that work?
>
> # dmsetup
>
> Should give failure status.
> (It already does.)
>
> # dmsetup help
>
> Should give success.
> (It already does.)
>
> # dmsetup -c -o help
>
> Should give success.
> (It doesn't.)
>
Here is second try to address only this explicit problem:
_report_init() is able to return 1 for 'help'/'?'
(same check is in libdm-report.c)
Following checks detects that 'info' invoked it.
What still looks weird is 'dmsetup ls -c -o help' - which returns 1 - but
displays meaningless help message for this command, (but this is not
influenced by this patch).
Zdenek
Index: tools/dmsetup.c
===================================================================
RCS file: /cvs/lvm2/LVM2/tools/dmsetup.c,v
retrieving revision 1.141
diff -u -p -r1.141 dmsetup.c
--- tools/dmsetup.c 8 Jul 2010 14:29:28 -0000 1.141
+++ tools/dmsetup.c 8 Jul 2010 15:40:35 -0000
@@ -2652,6 +2652,9 @@ static int _report_init(struct command *
r = 1;
out:
+ if (!strcasecmp(options, "help") || !strcmp(options, "?"))
+ r = 1;
+
if (len)
dm_free(options);
@@ -3360,8 +3363,15 @@ int main(int argc, char **argv)
if (!_switches[COLS_ARG] && !strcmp(c->name, "splitname"))
_switches[COLS_ARG]++;
- if (_switches[COLS_ARG] && !_report_init(c))
- goto out;
+ if (_switches[COLS_ARG]) {
+ if (!_report_init(c))
+ goto out;
+ if (!_report) {
+ if (!strcmp(c->name, "info"))
+ r = 0; /* info -c -o help */
+ goto out;
+ }
+ }
#ifdef UDEV_SYNC_SUPPORT
if (!_set_up_udev_support(dev_dir))
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/6] Fix compiler warning about strict-aliasing break
2010-07-07 12:29 ` [PATCH 1/6] Fix compiler warning about strict-aliasing break Zdenek Kabelac
@ 2010-10-06 15:04 ` Petr Rockai
0 siblings, 0 replies; 14+ messages in thread
From: Petr Rockai @ 2010-10-06 15:04 UTC (permalink / raw)
To: lvm-devel
Zdenek Kabelac <zkabelac@redhat.com> writes:
> This patch not really tested - and just show a possible solution
> for strict-alliasing error.
>
> So patch is just a proposal of one of many solution.
The patch looks OK, the code is actually cleaner that way. You can also
drop PART_MAGIC_OFFSET which is no longer used (I have checked that it
is indeed PART_OFFSET + 4*sizeof(struct partition)).
I believe the code is equivalent to what was there before. Nevertheless,
a regression test that would cover this area would be more than welcome.
Reviewed-By: Petr Rockai <prockai@redhat.com>
Yours,
Petr.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2010-10-06 15:04 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-07 12:29 [PATCH 0/6] Misc code updates Zdenek Kabelac
2010-07-07 12:29 ` [PATCH 1/6] Fix compiler warning about strict-aliasing break Zdenek Kabelac
2010-10-06 15:04 ` Petr Rockai
2010-07-07 12:29 ` [PATCH 2/6] configure changes - AC_HELP_STRING, AH_TEMPLATE Zdenek Kabelac
2010-07-07 18:10 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 3/6] nextbit Zdenek Kabelac
2010-07-07 18:49 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 4/6] Do not show backtrace Zdenek Kabelac
2010-07-07 18:54 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 5/6] Better alligned debug message - memlock Zdenek Kabelac
2010-07-07 18:19 ` Alasdair G Kergon
2010-07-07 12:29 ` [PATCH 6/6] Exit status 0 for 'dmsetup -c -o help' Zdenek Kabelac
2010-07-07 18:16 ` Alasdair G Kergon
2010-07-08 15:46 ` Zdenek Kabelac
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.