- mount-exit-code.fix: Correct exit code from
unmount when fs is busy - allows autofs to work correctly. (bnc#770962) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=75
This commit is contained in:
parent
92a46a2e34
commit
d28a12e2d8
58
mount-exit-code.fix
Normal file
58
mount-exit-code.fix
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
From 76908c3f14a12e865054ea5d6e4cad201c28839a Mon Sep 17 00:00:00 2001
|
||||||
|
From: NeilBrown <neilb@suse.de>
|
||||||
|
Date: Mon, 16 Jul 2012 08:43:28 -0400
|
||||||
|
Subject: [PATCH] mount.nfs: restore correct error status when umount fails
|
||||||
|
|
||||||
|
If nfs-utils is built without --enable-libmount-mount, then
|
||||||
|
an unmount that failed due to the filesystem being busy will
|
||||||
|
exit with '16' - EX_FILEIO.
|
||||||
|
Autofs apparently relies on this.
|
||||||
|
|
||||||
|
When built with --enable-libmount-mount, the same case will
|
||||||
|
exit with '32' - EX_FAIL. Normally this is reserved for
|
||||||
|
internal errors.
|
||||||
|
|
||||||
|
This patch restores the use of EX_FILEIO for errors from umount.
|
||||||
|
|
||||||
|
Reviewed-by: Karel Zak <kzak@redhat.com>
|
||||||
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
||||||
|
Signed-off-by: Steve Dickson <steved@redhat.com>
|
||||||
|
|
||||||
|
---
|
||||||
|
utils/mount/mount_libmount.c | 9 ++++-----
|
||||||
|
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
--- nfs-utils-1.2.6.orig/utils/mount/mount_libmount.c
|
||||||
|
+++ nfs-utils-1.2.6/utils/mount/mount_libmount.c
|
||||||
|
@@ -173,6 +173,7 @@ static int umount_main(struct libmnt_con
|
||||||
|
{
|
||||||
|
int rc, c;
|
||||||
|
char *spec = NULL, *opts = NULL;
|
||||||
|
+ int ret = EX_FAIL;
|
||||||
|
|
||||||
|
static const struct option longopts[] = {
|
||||||
|
{ "force", 0, 0, 'f' },
|
||||||
|
@@ -243,7 +244,7 @@ static int umount_main(struct libmnt_con
|
||||||
|
/* strange, no entry in mtab or /proc not mounted */
|
||||||
|
nfs_umount23(spec, "tcp,v3");
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ ret = EX_FILEIO;
|
||||||
|
rc = mnt_context_do_umount(cxt); /* call umount(2) syscall */
|
||||||
|
mnt_context_finalize_mount(cxt); /* mtab update */
|
||||||
|
|
||||||
|
@@ -252,12 +253,10 @@ static int umount_main(struct libmnt_con
|
||||||
|
umount_error(rc, spec);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- free(opts);
|
||||||
|
- return EX_SUCCESS;
|
||||||
|
+ ret = EX_SUCCESS;
|
||||||
|
err:
|
||||||
|
free(opts);
|
||||||
|
- return EX_FAIL;
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int mount_main(struct libmnt_context *cxt, int argc, char **argv)
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 19 06:26:10 UTC 2012 - nfbrown@suse.com
|
||||||
|
|
||||||
|
- mount-exit-code.fix: Correct exit code from
|
||||||
|
unmount when fs is busy - allows autofs to work
|
||||||
|
correctly. (bnc#770962)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 17 07:04:58 UTC 2012 - nfbrown@suse.com
|
Thu May 17 07:04:58 UTC 2012 - nfbrown@suse.com
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ Source13: nfs-utils.rpmlintrc
|
|||||||
Patch0: nfs-utils-1.0.7-bind-syntax.patch
|
Patch0: nfs-utils-1.0.7-bind-syntax.patch
|
||||||
Patch1: remove_pretty_sig.patch
|
Patch1: remove_pretty_sig.patch
|
||||||
Patch2: mkdir-sbin
|
Patch2: mkdir-sbin
|
||||||
|
Patch3: mount-exit-code.fix
|
||||||
Suggests: python-base
|
Suggests: python-base
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -137,6 +138,7 @@ Authors:
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
cp %{S:6} .
|
cp %{S:6} .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user