summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2012-08-06 08:41:13 -0400
committerSteve Dickson <steved@redhat.com>2012-08-06 09:11:27 -0400
commitb0b342201140530c5b9e00408f12d22258df7c4e (patch)
tree83e9871410de40f375b41935c2cf5663e25881b7
parent808fd6bc68e00a686f8eed7e31f682a9128bdf9b (diff)
downloadnfs-utils-b0b342201140530c5b9e00408f12d22258df7c4e.tar.gz
nfs-utils-b0b342201140530c5b9e00408f12d22258df7c4e.tar.xz
nfs-utils-b0b342201140530c5b9e00408f12d22258df7c4e.zip
umount: use correct return value for is_vers4.
is_vers4 in mount_libmount.c is based on nfs_umount_is_vers4 in nfsumount.c, except the return values are reversed. The result of this is: - a MOUNT_UMNT call is not sent when an NFSv3 or NFSv2 filesystem is unmounted - a MOUNT_UMNT call *is* sent when and 'nfs4' filesystem is unmounted (but not when an 'nfs -o vers=4 filesystem is unmounted, as that is checked elsewhere). Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--utils/mount/mount_libmount.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/utils/mount/mount_libmount.c b/utils/mount/mount_libmount.c
index ddf61b2..701d41e 100644
--- a/utils/mount/mount_libmount.c
+++ b/utils/mount/mount_libmount.c
@@ -140,14 +140,14 @@ static int try_mount(struct libmnt_context *cxt, int bg)
return ret;
}
-/* returns: error = -1, success = 0 , unknown = 1 */
+/* returns: error = -1, success = 1 , not vers4 == 0 */
static int is_vers4(struct libmnt_context *cxt)
{
struct libmnt_fs *fs = mnt_context_get_fs(cxt);
struct libmnt_table *tb = NULL;
const char *src = mnt_context_get_source(cxt),
*tgt = mnt_context_get_target(cxt);
- int rc = 1;
+ int rc = 0;
if (!src || !tgt)
return -1;
@@ -163,7 +163,7 @@ static int is_vers4(struct libmnt_context *cxt)
if (fs) {
const char *type = mnt_fs_get_fstype(fs);
if (type && strcmp(type, "nfs4") == 0)
- rc = 0;
+ rc = 1;
}
mnt_free_table(tb);
return rc;