--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: Backgrounding mount broken with NFS versions <4
- From: Wolfram Gloger <bugzilla1@malloc.de>
- Date: Wed, 10 Oct 2012 23:31:02 +0200
- Message-id: <u4bogahv55.fsf@mail.malloc.de>
Package: nfs-common
Version: 1:1.2.2-4squeeze2
Tags: patch
Assume the following:
An NFS server supports only NFS version <4.
This server is unreachable at a certain time.
A Debian client boots and tries to mount a directory on the server with
the 'bg' option, but without the 'nfsvers' option.
Later, the NFS server comes up.
Result: The client does _not_ mount the directory and the background
mount is silently terminated. This typically breaks cross-mounted
server scenarios.
[Note that specifying 'nfsvers=3' is NOT a workaround, because then
failing to connect the portmapper already terminates the mount.nfs
process and no backgrounding happens at all. This is a separate
bug IMHO.]
Analysis: When first trying an NFSv4 mount, 'vers=4' is appended
to the extra_options string in the mount options. Then, the next
(background) attempt also happens with vers=4 and consequently,
nfs_try_mount_v3v2() is never called. The mount fails, even though
the V3 server would now be reachable.
Fix appended. It looks like this bug is also present in current
Debian nfs-utils git.
Regards,
Wolfram.
--- nfs-utils-1.2.2/utils/mount/stropts.c 2012-10-10 23:12:14.000000000 +0200
+++ nfs-utils-1.2.2wg/utils/mount/stropts.c 2012-10-10 23:12:26.000000000 +0200
@@ -659,6 +659,7 @@
{
struct mount_options *options = po_dup(mi->options);
int result = 0;
+ char *extra_opts = NULL;
if (!options) {
errno = ENOMEM;
@@ -694,20 +695,26 @@
goto out_fail;
}
- /*
- * Update option string to be recorded in /etc/mtab.
- */
- if (po_join(options, mi->extra_opts) == PO_FAILED) {
+ if (po_join(options, &extra_opts) == PO_FAILED) {
errno = ENOMEM;
goto out_fail;
}
if (verbose)
printf(_("%s: trying text-based options '%s'\n"),
- progname, *mi->extra_opts);
+ progname, extra_opts);
result = nfs_sys_mount(mi, options);
+ /*
+ * If success, update option string to be recorded in /etc/mtab.
+ */
+ if (result) {
+ free(*mi->extra_opts);
+ *mi->extra_opts = extra_opts;
+ } else
+ free(extra_opts);
+
out_fail:
po_destroy(options);
return result;
--- End Message ---
--- Begin Message ---
Source: nfs-utils
Source-Version: 1:1.2.8-1
We believe that the bug you reported is fixed in the latest version of
nfs-utils, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 690181@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Luk Claes <luk@zomers.be> (supplier of updated nfs-utils package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Fri, 10 May 2013 14:27:47 +0200
Source: nfs-utils
Binary: nfs-kernel-server nfs-common
Architecture: source amd64
Version: 1:1.2.8-1
Distribution: unstable
Urgency: low
Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
Changed-By: Luk Claes <luk@zomers.be>
Description:
nfs-common - NFS support files common to client and server
nfs-kernel-server - support for NFS kernel server
Closes: 657188 682709 685306 690181 707258 707401 707589
Changes:
nfs-utils (1:1.2.8-1) unstable; urgency=low
.
* New upstream version (Closes: #707258).
- Only amend extra-options on a successful vers=4 mount
(Closes: #690181).
- Use default domain (Closes: #657188).
- Fix is-subdirectory to understand '/' (Closes: #685306).
- Drop 18-osd_login-sbindir: incorporated upstream.
- Avoid DNS reverse lookups on server names (Closes: #707401).
- auth_unix_ip should downcall on error (Closes: #682709).
- Refresh 11-532048-reduce-verbosity.
* Use rpcbind's rpcinfo everywhere (Closes: #707589).
* Add nfsdcltrack to nfs-kernel-server.
* Add libsqlite3-dev build dependency for nfsdcltrack.
* Do not try to install dropped ChangeLog.
* Adjust version of replaces due to manpage move.
Checksums-Sha1:
2d7394e953d136b3e3a0f85410549b14743644a8 2261 nfs-utils_1.2.8-1.dsc
b65fc6f0872219583a142594d9c3d7deaf748457 2747577 nfs-utils_1.2.8.orig.tar.bz2
4625a7278d1030ce00a0f6675c9ffd235836bf09 35978 nfs-utils_1.2.8-1.debian.tar.bz2
e372b7460de1ad65b8210cbc9aa73a7e0c85afc8 146158 nfs-kernel-server_1.2.8-1_amd64.deb
0bd5085d756c7f202afe858843c53a64c836bd37 270740 nfs-common_1.2.8-1_amd64.deb
Checksums-Sha256:
8cead4baa468bec79d9fcdd660aebccbd901b7f5eb481968758246fdd37f10b9 2261 nfs-utils_1.2.8-1.dsc
1cc8f02a633eddbf0a1d93421f331479c4cdab4c5ab33b8bf8c7c369f9156ac6 2747577 nfs-utils_1.2.8.orig.tar.bz2
a8e7387bce5bf1ec95baaf29c1bcec1f7925790be283a782fbd6886153d1311a 35978 nfs-utils_1.2.8-1.debian.tar.bz2
1047b4c39e830177f2ffa942a5e386a3358976d8025f1f91ba0805ce389cde9d 146158 nfs-kernel-server_1.2.8-1_amd64.deb
b367c32ae913fc4f841b906b58dfbcef9cbc166167c50896682d740cf1cb23ff 270740 nfs-common_1.2.8-1_amd64.deb
Files:
cf2e08176d3df966044cb4d85e103f45 2261 net standard nfs-utils_1.2.8-1.dsc
6e7d97de51e428a0b8698c16ca23db77 2747577 net standard nfs-utils_1.2.8.orig.tar.bz2
237e351895593f4327839e403642a9c6 35978 net standard nfs-utils_1.2.8-1.debian.tar.bz2
6908075b673ff28f143288162dfccaca 146158 net optional nfs-kernel-server_1.2.8-1_amd64.deb
35d8be301a751fe0000b7a5750f4b291 270740 net standard nfs-common_1.2.8-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBAgAGBQJRjOt+AAoJECEnNxubsjBiV68P/Ahm/gfQdwHVSfFFRj900i91
jpKRKly6tGeUbfW6dzz2wMkTzszy9c86CdZFMO2LdGlyGYRBF9y5Hg8GsFgNPAxs
6m/Qt4klVlSg4FZUkOgD7tdiI6EVFl0CWsIcFMvQ2DyxUZGoaPKF2It7mcU1Ot3v
xFaYOxGs56ft8KWJg3NkDxRYr6gJp/yK9YB13dbbmWpx3Iw57w+NYHFbCZqKR/tR
NXC/Td2zeuaBMcG9vPHvNCrPKZ2Lo9V8ve+7gbpSzMgNtecbOOn8vR4hkT/MGXkN
NEw8nMRDJPV2KKeMa5guds6+Ua1dqz2gSwSOy3gmFf0rQIKtUt129NlGEBtJLAfl
dYf/GweTQvarbeR7zR8DteaXUOY9Yv55VjypdIVtM4qsjorM7VguqYR7gczC7/cR
bGpBRt5n/zWnFzO/jgZsQMsxzaWPirSVjR7uS8raIV1nMM8yq/+ad9Fge+XRnsDi
VCQ+lNrJTk2c84FPoDYY298GU/JWJKesus2VEnm3BQf0Khn+3ki0q7cBGIZRHNam
nkCOVNF2sl2fJLKXJP3qZ845dsFgKUXBCOgr4PSUQvAdhhmpEwtRSaersInkwwIQ
VcF580X6sr9VlEGgVreYdg5ANyr0fact9mD4G6/3SG5lWgHG9XmuZ8CGNYEnmPT3
ECVpNuPBYLTsRvW1ACrq
=gn7c
-----END PGP SIGNATURE-----
--- End Message ---