Hello community,
here is the log from the commit of package nfs-utils for openSUSE:12.2 checked
in at 2012-07-31 14:04:58
Comparing /work/SRC/openSUSE:12.2/nfs-utils (Old)
and /work/SRC/openSUSE:12.2/.nfs-utils.new (New)
Package is "nfs-utils", Maintainer is "nfbr...@suse.com"
Changes:
--- /work/SRC/openSUSE:12.2/nfs-utils/nfs-utils.changes 2012-06-25
15:47:05.0 +0200
+++ /work/SRC/openSUSE:12.2/.nfs-utils.new/nfs-utils.changes2012-07-31
14:15:56.0 +0200
@@ -1,0 +2,7 @@
+Thu Jul 19 06:26:10 UTC 2012 - nfbr...@suse.com
+
+- mount-exit-code.fix: Correct exit code from
+ unmount when fs is busy - allows autofs to work
+ correctly. (bnc#770962)
+
+---
New:
mount-exit-code.fix
Other differences:
--
++ nfs-utils.spec ++
--- /var/tmp/diff_new_pack.T52B53/_old 2012-07-31 14:15:57.0 +0200
+++ /var/tmp/diff_new_pack.T52B53/_new 2012-07-31 14:15:57.0 +0200
@@ -59,6 +59,7 @@
Patch0: nfs-utils-1.0.7-bind-syntax.patch
Patch1: remove_pretty_sig.patch
Patch2: mkdir-sbin
+Patch3: mount-exit-code.fix
Suggests: python-base
%description
@@ -137,6 +138,7 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
cp %{S:6} .
%build
++ mount-exit-code.fix ++
>From 76908c3f14a12e865054ea5d6e4cad201c28839a Mon Sep 17 00:00:00 2001
From: NeilBrown
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
Signed-off-by: NeilBrown
Signed-off-by: Steve Dickson
---
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)
--
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org