nfsumount: Squelch compiler warning
[nfs-utils.git] / ChangeLog
1 commit 684cf4a5e0e84a1367690d7ecf4882cbdf4f3228
2 Author: Prem Karat <prem.karat@linux.vnet.ibm.com>
3 Date:   Thu Jun 30 07:29:20 2011 -0400
4
5     mount.nfs: Fix for the bug in v1.2.4 that breaks mount.nfs
6     
7     commit 30ebf047 failed to include these changes that breaks mount.nfs.
8     mount.nfs will continue to work fine with these changes
9     
10     Signed-off-by: Steve Dickson <steved@redhat.com>
11
12 commit 057d2add27d1e05fed3ae7206ee043b6c1fda45a
13 Author: NeilBrown <neilb@suse.de>
14 Date:   Tue Jun 28 13:24:33 2011 -0400
15
16     Do not compile unnecessary files when the libmount code is enable
17     
18     Signed-off-by: Steve Dickson <steved@redhat.com>
19
20 commit 30ebf04700654deddbf5f57d95e84ec69cea8610
21 Author: Prem Karat <prem.karat@linux.vnet.ibm.com>
22 Date:   Tue Jun 28 11:53:40 2011 -0400
23
24     mount.nfs: Don't hard code source and destination
25     
26     Currently souce and destination parameters should be passed as first and
27     second paramter while using mount.nfs. This patch allows them to be passed
28     anywhere while mounting.
29     
30     Current functionality is
31         mount.nfs source destn -o <options>
32     This patch will allow to do this
33         mount.nfs -o <options> source destn
34                 or
35         mount.nfs -o <options> source -o <options> destn
36     
37     Signed-off-by: Prem Karat <prem.karat@linux.vnet.ibm.com>
38     Signed-off-by: Steve Dickson <steved@redhat.com>
39
40 commit b3e190c4adfc9ec47567c968bd000d282d07b05e
41 Author: NeilBrown <neilb@suse.de>
42 Date:   Tue Jun 28 11:36:31 2011 -0400
43
44     mount: improve signal management when locking mtab
45     
46     As mount.nfs can run setuid it must be careful about how the user can
47     interact with in.  In particular it needs to ensure it does not
48     respond badly to any signals that the user might be able to generate.
49     
50     This is particularly an issue while updating /etc/mtab (when that is
51     not linked to /proc/mounts).  If the user can generate a signal which
52     kills mount.nfs while /etc/mtab is locked, then it will leave the file
53     locked, and could possibly corrupt mtab (particularly if 'ulimit 1'
54     was previously issued).
55     
56     Currently lock_mtab does set some handlers for signals, but not
57     enough.  It arranges for every signal up to (but not including)
58     SIGCHLD to cause mount.nfs to unlock mdadm promptly exit ... even if
59     the default behaviour would be to ignore the signal.  SIGALRM is
60     handled specially, and signals after SIGCHLD are left with their
61     default behaviour.  This includes for example SIGXFSZ which can be
62     generated by the user running "ulimit 1".
63     
64     So: change this so that some signals are left unchanged, SIGALRM is
65     handled as required, and all signals that the user can generate are
66     explicitly ignored.
67     
68     The remainder still cause mount.nfs to print a message, unlock mtab, and
69     exit.
70     
71     Signed-off-by: NeilBrown <neilb@suse.de>
72     Signed-off-by: Steve Dickson <steved@redhat.com>
73
74 commit a99b7846e2abec5e26ab6b764b921d79559e0a0f
75 Author: J. Bruce Fields <bfields@redhat.com>
76 Date:   Mon Jun 27 12:31:07 2011 -0400
77
78     mountd: move fsidtype-specific code to helpers
79     
80     Now we can move these big switch statements into helper functions.
81     
82     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
83     Signed-off-by: Steve Dickson <steved@redhat.com>
84
85 commit e6559fd0b7b63f5d152d33d598dc74d78df30ecb
86 Author: J. Bruce Fields <bfields@redhat.com>
87 Date:   Mon Jun 27 12:30:36 2011 -0400
88
89     mountd: gather fsid information into one struct
90     
91     A large part of nfsd_fh() is concerned with extracting
92     fsid-type-specific information from the fsid, then matching that
93     information with information from the export list and the filesystem.
94     
95     Moving all that information into one struct will allow some further
96     simplifications.
97     
98     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
99     Signed-off-by: Steve Dickson <steved@redhat.com>
100
101 commit 13a0a61d037f2cc09e7997a96ce5822b9317883b
102 Author: J. Bruce Fields <bfields@redhat.com>
103 Date:   Mon Jun 27 12:29:51 2011 -0400
104
105     mountd: prefer explicit subexports over crossmnt parents
106     
107     If a parent is exported with crossmnt, and if a child is also explicitly
108     exported, then both exports could potentially produce matches in this
109     loop; that isn't a bug.
110     
111     Instead of warning and ignoring the second match we find, we should
112     instead prefer whichever export is deeper in the tree, so that
113     children's options can override those of their parents.
114     
115     Reported-by: Olga Kornievskaia <aglo@citi.umich.edu>
116     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
117     Signed-off-by: Steve Dickson <steved@redhat.com>
118
119 commit f8d26c1db9a260597828685c7f62e1b29e78285f
120 Author: Jeff Layton <jlayton@redhat.com>
121 Date:   Wed Jun 22 15:52:55 2011 -0400
122
123     manpage: add section on character class matches to exports(5)
124     
125     Signed-off-by: Jeff Layton <jlayton@redhat.com>
126     Signed-off-by: Steve Dickson <steved@redhat.com>
127
128 commit cb6676aea5bcfcbeaf868e53177eff51f4efe9a8
129 Author: James Pearson <james-p@moving-picture.com>
130 Date:   Wed Jun 22 15:51:47 2011 -0400
131
132     nfs-utils: remove possibly false statement from exports.man
133     
134     A very minor change suggested by J. Bruce Fields <bfields@fieldses.org>
135     to remove the statement that exporting to a single host or IP address is
136     the "most common format" - as it probably isn't.
137     
138     Signed-off-by: James Pearson <james-p@moving-picture.com>
139     Signed-off-by: Steve Dickson <steved@redhat.com>
140
141 commit 7d71ff8e3825a7f8c2d5c9b5b9344e95e7aa1392
142 Author: Jeff Layton <jlayton@redhat.com>
143 Date:   Wed Jun 22 15:51:02 2011 -0400
144
145     manpage: add info about IPv6 configuration to exports(5)
146     
147     The parts of the exports(5) manpage that discuss IP addressing neglect
148     IPv6 configuration. Update to include info on how to export to IPv6
149     subnets and addresses, and add a line demonstrating that to the EXAMPLE
150     section.
151     
152     Signed-off-by: Jeff Layton <jlayton@redhat.com>
153     Signed-off-by: Steve Dickson <steved@redhat.com>
154
155 commit 545ea1098089d6396d5a70111ec231c4de967faa
156 Author: Benny Halevy <benny@tonian.com>
157 Date:   Wed Jun 22 15:44:17 2011 -0400
158
159     nfsstat: reorder nfs4 stats for 2.6.39
160     
161     Signed-off-by: Benny Halevy <benny@tonian.com>
162     Signed-off-by: Steve Dickson <steved@redhat.com>
163
164 commit c7ce7a4674ad446bee4dd3baf90155ce6b216816
165 Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
166 Date:   Wed Jun 22 15:41:27 2011 -0400
167
168     libexport.a: fix using bad index for loop at cltsetup()
169     
170     In cltsetup(), when checking the address, use clp's naddr for index,
171     instead of  cltarg's naddr, which it's always zero there.
172     
173     Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
174     Signed-off-by: Steve Dickson <steved@redhat.com>
175
176 commit b50ad13298b3e9519a9bdecb8c146c9ecf39cef8
177 Author: Jeff Layton <jlayton@redhat.com>
178 Date:   Wed Jun 22 14:51:38 2011 -0400
179
180     nfs: fix host_reliable_addrinfo
181     
182     According to Neil Brown:
183     
184         The point of the word 'reliable' is to check that the name we get
185         really does belong to the host in question - ie that both the
186         forward and reverse maps agree.
187     
188         But the new code doesn't do that check at all.  Rather it simply
189         maps the address to a name, then discards the address and maps the
190         name back to a list of addresses and uses that list of addresses as
191         "where the request came from" for permission checking.
192     
193     This bug is exploitable via the following scenario and could allow an
194     attacker access to data that they shouldn't be able to access.
195     
196         Suppose you export a filesystem to some subnet or FQDN and also to a
197         wildcard or netgroup, and I know the details of this (maybe
198         showmount -e tells me) Suppose further that I can get IP packets to
199         your server..
200     
201         Then I create a reverse mapping for my ipaddress to a domain that I
202         own, say "black.hat.org", and a forward mapping from that domain to
203         my IP address, and one of your IP addresses.
204     
205         Then I try to mount your filesystem.  The IP address gets correctly
206         mapped to "black.hat.org" and then mapped to both my IP address and
207         your IP address.
208     
209         Then you search through all of your exports and find that one of the
210         addresses: yours - is allowed to access the filesystem.
211     
212         So you create an export based on the addrinfo you have which allows
213         my IP address the same access as your IP address.
214     
215     Fix this by instead using the forward lookup of the hostname just to
216     verify that the original address is in the list. Then do a numeric
217     lookup using the address and stick the hostname in the ai_canonname.
218     
219     Reviewed-by: NeilBrown <neilb@suse.de>
220     Signed-off-by: Jeff Layton <jlayton@redhat.com>
221     Signed-off-by: Steve Dickson <steved@redhat.com>
222
223 commit 7235a2164aabfd8dba1f7e1577047bda45053db0
224 Author: James Pearson <james-p@moving-picture.com>
225 Date:   Tue Jun 7 16:25:13 2011 -0400
226
227     exports: Clearly Defining Exports Priorities
228     
229     Added some verbiage to the exports(5) man page
230     that clearly explains the precedence around
231     how exports will work with regard to netgroups.
232     
233     Signed-off-by: Steve Dickson <steved@redhat.com>
234
235 commit a36f2437caffb23c68fdc0900544d59198bd52b6
236 Author: Neil Brown <neilb@suse.de>
237 Date:   Tue Jun 7 13:18:55 2011 -0400
238
239     Document "-n" for svcgssd
240     
241     The svcgssd man page doesn't mention the "-n" flag.
242     
243     Signed-off-by: NeilBrown <neilb@suse.de>
244     Signed-off-by: Steve Dickson <steved@redhat.com>
245
246 commit 40aed2c3fb5164195a9975ae7f15ebd4b992839d
247 Author: Pavel Shilovsky <piastry@etersoft.ru>
248 Date:   Tue Jun 7 13:18:13 2011 -0400
249
250     mountd: Fix missing varialble assignment in auth_unix_gid
251     
252     When we get into auth_unix_gid at the second time, groups_len
253     is not 0 and ngroups variable leave as 0. Then we use ngroups
254     in getgrouplist that fails in this case. This patch fixes it.
255     
256     Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
257     Signed-off-by: Steve Dickson <steved@redhat.com>
258
259 commit 8935933dedcd820c2fb3dddff8b79fd5841dc217
260 Author: Benny Halevy <bhalevy@panasas.com>
261 Date:   Mon May 23 08:37:17 2011 -0400
262
263     nfsstat: reorder nfs4 stats for 2.6.38 and up
264     
265     match order in 2.6.38, 2.6.39 (-rc3) and development tree
266     while at it, get rid of obsolete ds_write and ds_commit
267     
268     Signed-off-by: Benny Halevy <bhalevy@panasas.com>
269     Signed-off-by: Steve Dickson <steved@redhat.com>
270
271 commit 27dcd8a775024160e741cce53e4a402eaac3501d
272 Author: NeilBrown <neilb@suse.de>
273 Date:   Mon May 23 08:23:51 2011 -0400
274
275     supress socket error when address family is not supported
276     
277     From: Suresh Jayaraman <sjayaraman@suse.de>
278     
279     It was observed that when ipv6 module was not loaded and cannot be auto-loaded,
280     when starting NFS server, the following error occurs:
281         "rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address
282         family not supported by protocol)"
283     
284     This is obviously a true message, but does not represent an "error" when ipv6
285     is not enabled.  Rather, it is an expected condition.  As such, it can be
286     confusing / misleading / distracting to display it in this scenario.
287     
288     This patch instead of throwing error when a socket call fails with
289     EAFNOSUPPORT, makes it as a NOTICE.
290     
291     Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
292     Signed-off-by: Neil Brown <neilb@suse.de>
293     Signed-off-by: Steve Dickson <steved@redhat.com>
294
295 commit 7a802337bfc92d0b30fe94dbd0fa231990a26161
296 Author: NeilBrown <neilb@suse.de>
297 Date:   Mon May 23 08:19:57 2011 -0400
298
299     Remove risk of nfs_addmntent corrupting mtab
300     
301     nfs_addmntent is used to append directly to /etc/mtab.
302     If the write partially fail, e.g. due to RLIMIT_FSIZE,
303     truncate back to original size and return an error.
304     
305     See also https://bugzilla.redhat.com/show_bug.cgi?id=697975
306     (CVE-2011-1749) CVE-2011-1749 nfs-utils: mount.nfs fails to anticipate RLIMIT_FSIZE
307     
308     Signed-off-by: NeilBrown <neilb@suse.de>
309     Signed-off-by: Steve Dickson <steved@redhat.com>
310
311 commit 56f537535190d034039570bafd9a0de71b79b8f1
312 Author: Ben Myers <bpm@sgi.com>
313 Date:   Mon May 23 08:07:00 2011 -0400
314
315     exportfs: getexportent interprets -test-client- as  default options
316     
317     With commit 1374c3861abdc66f3a1410e26cc85f86760b51dd Neil added a
318     -test-client- export to test the exportability of filesystems when exportfs
319     is run.  When using the old cache controls (i.e. /proc/fs/nfsd is not
320     mounted) exportfs will read /proc/fs/nfs/exports to process existing
321     exports and find these test client entries.  The dash at the beginning of
322     -test-client- will be cause getexportent to look for default options in the
323     rest of the string, which test-client- will not match:
324     
325     exportfs: /proc/fs/nfs/exports:1: unknown keyword "test-client-(rw"
326     
327     This patch resolves that problem (as Steve suggested) by not processing any
328     default options if we are reading the list of existing exports from the
329     kernel.  Default options are converted to individual exports by exportfs so
330     the kernel won't have any regardless.
331     
332     Signed-off-by: Ben Myers <bpm@sgi.com>
333     Signed-off-by: Steve Dickson <steved@redhat.com>
334
335 commit c8e802c036a3f0fcd4481dae8b3ec09fb71f4118
336 Author: Jim Rees <rees@umich.edu>
337 Date:   Wed May 18 12:42:02 2011 -0400
338
339     Removed compilation warnings from mountd/cache.c
340     
341     Commit 5604b35a6 introduced a number of missing initializer
342     warnings that were missed. This patch removes those warnings.
343     
344     Signed-off-by: Steve Dickson <steved@redhat.com>
345
346 commit 68f7938c85258a8c54b13169dcdeae61cc1bf286
347 Author: Steve Dickson <steved@redhat.com>
348 Date:   Tue Apr 26 13:32:35 2011 -0400
349
350     nfsstat: Output headings mislabled
351     
352     The badclnt and badauth headers were reversed
353     when the server side rpc stats (-s -o rpc) were
354     displayed.
355     
356     Signed-off-by: Steve Dickson <steved@redhat.com>
357
358 commit 2e4a7e9b50a641dc8640a5dd911ee4a2f0b2c073
359 Author: Steve Dickson <steved@redhat.com>
360 Date:   Tue Apr 19 12:31:30 2011 -0400
361
362     rpc.svcgssd: Segmentation fault on error
363     
364     Commit 544ed73d introduced a regression that caused
365     rpc.svcgssd to seg fault on "Wrong principal in request"
366     errors in gss_accept_sec_context()
367     
368     Signed-off-by: Steve Dickson <steved@redhat.com>
369
370 commit 5604b35a61e22930873ffc4e9971002f578e7978
371 Author: Sean Finney <sean.finney@sonyericsson.com>
372 Date:   Tue Apr 19 11:04:35 2011 -0400
373
374     nfs-utils: Increase the stdio file buffer size for procfs files
375     
376     Previously, when writing to /proc/net/rpc/*/channel, if a cache line
377     were larger than the default buffer size (likely 1024 bytes), mountd
378     and svcgssd would split writes into a number of buffer-sized writes.
379     Each of these writes would get an EINVAL error back from the kernel
380     procfs handle (it expects line-oriented input and does not account for
381     multiple/split writes), and no cache update would occur.
382     
383     When such behavior occurs, NFS clients depending on mountd to finish
384     the cache operation would block/hang, or receive EPERM, depending on
385     the context of the operation.  This is likely to happen if a user is a
386     member of a large (~100-200) number of groups.
387     
388     Instead, every fopen() on the procfs files in question is followed by
389     a call to setvbuf(), using a per-file dedicated buffer of
390     RPC_CHAN_BUF_SIZE length.
391     
392     Really, mountd should not be using stdio-style buffered file operations
393     on files in /proc to begin with.  A better solution would be to use
394     internally managed buffers and calls to write() instead of these stdio
395     calls, but that would be a more extensive change; so this is proposed
396     as a quick and not-so-dirty fix in the meantime.
397     
398     Signed-off-by: Sean Finney <sean.finney@sonyericsson.com>
399     Signed-off-by: Steve Dickson <steved@redhat.com>
400
401 commit 9274e94db85bac04e170414cb8e0f4be271cde90
402 Author: Sean Finney <sean.finney@sonyericsson.com>
403 Date:   Tue Apr 19 11:05:47 2011 -0400
404
405     mountd: Use a dynamic buffer for storing lists of gid's
406     
407     Previously, in auth_unix_gid, group lists were stored in an array of
408     hard-coded length 100, and in the situation that the group lists for a
409     particular call were too large, the array was swapped with a dynamically
410     allocated/freed buffer.  For environments where users are commonly in
411     a large number of groups, this isn't an ideal approach.
412     
413     Instead, use malloc/realloc to grow the list on an as-needed basis.
414     
415     Signed-off-by: Sean Finney <sean.finney@sonyericsson.com>
416     Signed-off-by: Steve Dickson <steved@redhat.com>
417
418 commit a99269230a0e77e7bed4fa31c9547f0d61c7f206
419 Author: Karel Zak <kzak@redhat.com>
420 Date:   Wed Apr 6 12:39:21 2011 -0400
421
422     mount: add --enable-libmount-mount
423     
424     This patch allows to link mount.nfs with libmount from util-linux >=
425     v2.19. The new libmount based code is enabled by CONFIG_LIBMOUNT and
426     is stored in mount_libmount.c. The old code is not affected by this
427     change.
428     
429     The libmount does not have officially stable API yet, so the
430     --enable-libmount-mount is marked as experimental in the configure
431     help output.
432     
433     The ./configure option is the same as we use in util-linux to enable
434     support for libmount in mount(8).
435     
436     The addr= (and some other options necessary for remount/umount) are
437     stored to /etc/mtab or to /dev/.mount/utab. The utab file is *private*
438     libmount file. It's possible that some mount options (for example
439     user=) will be moved to kernel, so the utab will not be necessary.
440     
441     About libmount:
442     
443       * supports systems without and with regular /etc/mtab
444       * does not store VFS and FS mount options in userspace
445       * manages user= option and evaluate permissions
446       * parses VFS mount options and generate MS_* flags
447       * parses /etc/{fstab,mtab}, /proc/mounts or /proc/self/mountinfo
448       * long-term goal is to use the same code in all mount.<type> helpers
449     
450     Note, use
451     
452        LIBMOUNT_DEBUG=0xffff mount.nfs foo:/path /path
453     
454     to debug the library.
455     
456     On systems with util-linux v2.19 the findmnt(8) command uses libmount
457     to list all/selected mount points:
458     
459        $ findmnt /path
460        $ findmnt --mtab /path
461     
462     the --mtab appends userspace mount options (e.g. user=) to the output.
463     
464     CC: Chuck Lever <chuck.lever@oracle.com>
465     Signed-off-by: Karel Zak <kzak@redhat.com>
466     Signed-off-by: Steve Dickson <steved@redhat.com>
467
468 commit c01e5ca6179b8f5b041605d9bbd75a0f76812d54
469 Author: Karel Zak <kzak@redhat.com>
470 Date:   Wed Apr 6 11:36:40 2011 -0400
471
472     mount: move generic functions to utils.c and network.c
473     
474     Move generic code that could be shared between standard mount.nfs and
475     libmount version to utils.c and network.c.
476     
477     CC: Chuck Lever <chuck.lever@oracle.com>
478     Signed-off-by: Karel Zak <kzak@redhat.com>
479     Signed-off-by: Steve Dickson <steved@redhat.com>
480
481 commit d6c1b35c6b40243bfd6fba2591c9f8f2653078c0
482 Author: Kevin Coffman <kwc@citi.umich.edu>
483 Date:   Wed Apr 6 11:25:03 2011 -0400
484
485     nfs-utils: Add support to svcgssd to limit the negotiated enctypes
486     
487     Recent versions of Kerberos libraries negotiate and use
488     an "acceptor subkey".  This negotiation does not consider
489     that a service may have limited the encryption keys in its
490     keytab.  A patch (http://src.mit.edu/fisheye/changelog/krb5/?cs=24603)
491     has been added to the MIT Kerberos code to allow an application
492     to indicate that it wants to limit the encryption types negotiated.
493     (This functionality has been available on the client/initiator
494     side for a while.  The new patch adds this support to the
495     server/acceptor side.)
496     
497     This patch adds support to read a recently added nfsd
498     proc file to determine the encryption types supported by
499     the kernel and calls the function to limit encryption
500     types negotiated for the acceptor subkey.
501     
502     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
503     Signed-off-by: Steve Dickson <steved@redhat.com>
504
505 commit 73840ef610accf4cf667427bc64805377c0d8394
506 Author: Chuck Lever <chuck.lever@oracle.com>
507 Date:   Wed Apr 6 10:53:57 2011 -0400
508
509     exports: add a configurable time-to-live for the kernel     cache entries
510     
511     From: Trond Myklebust <Trond.Myklebust@netapp.com>
512     
513     The fedfs ldap server will specify a ttl for its entries.
514     
515     Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
516     
517     This is a refactoring change only.  There should be no change in
518     behavior.
519     
520     Original patch had updates to utils/mountd/junctions.c, which no
521     longer exists.  These are not included here.
522     
523     Create a macro for the default cache TTL, which is used in several
524     places besides the export cache.
525     
526     Make e_ttl unsigned.
527     
528     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
529     Signed-off-by: Steve Dickson <steved@redhat.com>
530
531 commit 38e4c685410885a6d464ddd44eff4fd5e7f8459f
532 Author: Chuck Lever <chuck.lever@oracle.com>
533 Date:   Wed Apr 6 10:49:52 2011 -0400
534
535     statd: Remove vestigial "-w" option from man page synopsis
536     
537     The synopsis of rpc.statd in its man page lists "-w" as a valid
538     option.  There is currently no support in the source code for a "-w"
539     option.
540     
541     BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=199
542     
543     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
544     Signed-off-by: Steve Dickson <steved@redhat.com>
545
546 commit b57cd77c13831051ad974ae027d96cd88a8d0c59
547 Author: Chuck Lever <chuck.lever@oracle.com>
548 Date:   Wed Apr 6 10:48:38 2011 -0400
549
550     mount.nfs: Don't leak socket in nfs_ca_sockname()
551     
552     Ensure the test socket is always closed before nfs_ca_sockname()
553     returns.  Otherwise it's orphaned.
554     
555     BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=197
556     
557     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
558     Signed-off-by: Steve Dickson <steved@redhat.com>
559
560 commit 502eef09d8050ffb87d394397c2780e1ef042d68
561 Author: Steve Dickson <steved@redhat.com>
562 Date:   Wed Apr 6 10:46:06 2011 -0400
563
564     Removed a warning from v4root.c
565     
566     v4root.c:176:9: warning: variable 'ret' set but not used
567     
568     Signed-off-by: Steve Dickson <steved@redhat.com>
569
570 commit c2fa189a0467c25666f014cf9ff2576a9f54d682
571 Author: Steve Dickson <steved@redhat.com>
572 Date:   Wed Apr 6 10:39:10 2011 -0400
573
574     Removed a warning from exportfs.c
575     
576     exportfs.c:280:29: warning: 'exp' may be used uninitialized in this function
577     
578     Signed-off-by: Steve Dickson <steved@redhat.com>
579
580 commit b98ae9df8c4904289c9390288325058b24caa423
581 Author: Steve Dickson <steved@redhat.com>
582 Date:   Wed Apr 6 10:36:30 2011 -0400
583
584     Removed a warning from conffile.c
585     
586     conffile.c:258:19: warning: 'j' may be used uninitialized in this function
587     
588     Signed-off-by: Steve Dickson <steved@redhat.com>
589
590 commit 012e1a4bf2a002e8cd4d5be3478bfa20a91cbfed
591 Author: Masatake YAMATO <yamato@redhat.com>
592 Date:   Mon Mar 7 08:36:19 2011 -0500
593
594     Update man pages for /etc/exports.d
595     
596     Man page updates for /etc/exports.d.
597     
598     Signed-off-by: Masatake YAMATO <yamato@redhat.com>
599     Signed-off-by: Steve Dickson <steved@redhat.com>
600
601 commit c7427b57e2be8ef0d57ad0618d4590c062b130f5
602 Author: Masatake YAMATO <yamato@redhat.com>
603 Date:   Mon Mar 7 08:18:51 2011 -0500
604
605     Read /etc/exports.d/*.export as extra export files
606     
607     This patch adding a capability to read /etc/exports.d/*.exports as
608     extra export files to exportfs.
609     
610     If one wants to add or remove an export entry in a script, currently
611     one may have to use sed or something tool for adding or removing the
612     line for the entry in /etc/exports file.
613     
614     With the patch, adding and removing an entry from a script is much
615     easier.
616     cat<<EOF... or mv can be used for adding. rm can be used for removing.
617     
618     Signed-off-by: Masatake YAMATO <yamato@redhat.com>
619     Signed-off-by: Steve Dickson <steved@redhat.com>
620
621 commit edb9b7f2ab9806afb9af31eabeb505fe454c51df
622 Author: Steve Dickson <steved@redhat.com>
623 Date:   Sat Mar 5 16:17:01 2011 -0500
624
625     Cleaned up a warning in rpcdispatch.c
626     
627     rpcdispatch.c:40:20: warning: comparison between signed and unsigned
628     integer expressions
629     
630     Signed-off-by: Steve Dickson <steved@redhat.com>
631
632 commit 930323817b61877d61fb8ef57229013daa2e6091
633 Author: Steve Dickson <steved@redhat.com>
634 Date:   Sat Mar 5 16:13:01 2011 -0500
635
636     mount: Remove MOUNT_CONFIG warnings
637     
638     The following changes are needed to remove compile warnings when
639     MOUNT_CONFIG is not defined
640     
641     Signed-off-by: Steve Dickson <steved@redhat.com>
642
643 commit 3ef3dc8f1e87ba7a6eaa3c2a6965aff6c80ba414
644 Author: Chuck Lever <chuck.lever@oracle.com>
645 Date:   Thu Mar 3 17:26:33 2011 -0500
646
647     mount: Recognize zero as a valid value for the port= option
648     
649     While zero is not a valid IP port number, zero does represent a valid
650     value for "port=".  It means "query rpcbind to discover the actual
651     non-zero port number to use".  So the parsing functions that handle
652     "port=" should not flag zero as an invalid value.
653     
654     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
655     Signed-off-by: Steve Dickson <steved@redhat.com>
656
657 commit b3a4dbfb61dad59829f5191d727267b2ea45937a
658 Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
659 Date:   Wed Feb 9 11:29:42 2011 -0500
660
661     Gssd: modify wrong err message at handle_gssd_upcall
662     
663     Modify wrong err message at handle_gssd_upcall when
664     sscanf encryption types fail.
665     
666     Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
667     Signed-off-by: Steve Dickson <steved@redhat.com>
668
669 commit 45e4597bd570ed40221f51887cde7d7f096f55e7
670 Author: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
671 Date:   Wed Feb 9 11:27:19 2011 -0500
672
673     Support AD style kerberos automatically in rpc.gss
674     
675     An Active Directory KDC will only grant a TGT for UPNs, getting
676     a TGT for SPNs is not possible:
677     
678     $ kinit -k host/ib5@ADS.ORCORP.CA
679     kinit: Client not found in Kerberos database while getting initial
680     credentials
681     
682     The correct thing to do for machine credentials is to get a TGT
683     for the computer UPN <HOSTNAME>$@REALM:
684     $ kinit -k IB5\$
685     $ klist
686     12/22/10 11:43:47  12/22/10 21:43:47  krbtgt/ADS.ORCORP.CA@ADS.ORCORP.CA
687     
688     Samba automatically creates /etc/krb5.keytab entry for the computer UPN,
689     this patch makes gssd_refresh_krb5_machine_credential prefer it above
690     the SPNs if it is present.
691     
692     The net result is that nfs client works automatically out of the box
693     if samba has been used to setup kerberos via 'net ads join' 'net ads
694     keytab create'
695     
696     Tested using Windows Server 2003 R2 as the AD server.
697     
698     Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
699     Signed-off-by: Steve Dickson <steved@redhat.com>
700
701 commit 730f6986f86873513fa021a450eb55ccd0f2fbff
702 Author: Steve Dickson <steved@redhat.com>
703 Date:   Wed Jan 26 07:49:19 2011 -0500
704
705     Fixed segfault in rpc.mountd
706     
707     A unallocated piece of memory, instead of a NULL point, was being
708     used to initialize a ->next point in the mount link list which
709     caused a segfault after a few remote accesses via the showmount
710     command.
711     
712     Signed-off-by: Steve Dickson <steved@redhat.com>
713
714 commit 544ed73d5ab27c1390833d5cf93b9585c151667d
715 Author: Steve Dickson <steved@redhat.com>
716 Date:   Fri Jan 14 10:12:28 2011 -0500
717
718     Improve debugging in svcgssd
719     
720     Added in gss_display_error() which translates the GSS error into the
721     actual GSS macro name. Currently only the translation of these errors
722     are logged. Since those translations are buried deep in the kerberos
723     library code, having the actual GSS macro name makes it easier to
724     follow the code.
725     
726     Moved the nfs4_init_name_mapping() call into main() so if debug is
727     enabled the DNS name and realms will be logged during start up.
728     
729     Signed-off-by: Steve Dickson <steved@redhat.com>
730
731 commit 57be18b9ab08148a1cc9d5af588119885720be8b
732 Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
733 Date:   Tue Jan 4 11:16:45 2011 -0500
734
735     libnsm.a: modify return value to false from 0 at nsm_drop_privileges()
736     
737     At nsm_drop_privileges(), for improving readability, unify
738     the return value.
739     
740     Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
741     Signed-off-by: Steve Dickson <steved@redhat.com>
742
743 commit 5c498280fd9353ded3ea169841079bdae23418e2
744 Author: Chuck Lever <chuck.lever@oracle.com>
745 Date:   Mon Dec 13 14:50:45 2010 -0500
746
747     libnsm.a: sm-notify sometimes ignores monitored hosts
748     
749     Monitored host information is stored in files under /var/lib/nfs.
750     When visiting entries in the monitored hosts directory, libnsm.a
751     examines the value of dirent.d_type to determine if an entry is a
752     regular file.
753     
754     According to readdir(3), the d_type field is not supported by all
755     file system types.  My root file system happens to be one where d_type
756     isn't supported.  Typical installations that use an ext-derived root
757     file system are not exposed to this issue, but those who use xfs, for
758     instance, are.
759     
760     On such file systems, not only are remote peers not notified of
761     reboots, but the NSM state number is never incremented.  A statd warm
762     restart would not re-monitor any hosts that were monitored before
763     the restart.
764     
765     When writing support/nsm/file.c, I copied the use of d_type from the
766     original statd code, so this has likely been an issue for some time.
767     
768     Replace the use of d_type in support/nsm/file.c with a call to
769     lstat(2).  It's extra code, but is guaranteed to work on all file
770     system types.
771     
772     Note there is a usage of d_type in gssd.  I'll let gssd and rpcpipefs
773     experts decide whether that's worth changing.
774     
775     Fix for:
776     
777       https://bugzilla.linux-nfs.org/show_bug.cgi?id=193
778     
779     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
780     Signed-off-by: Steve Dickson <steved@redhat.com>
781
782 commit 089df7c754d9ebab0a7b804f396626ac95fee2e6
783 Author: Chuck Lever <chuck.lever@oracle.com>
784 Date:   Mon Dec 13 14:47:42 2010 -0500
785
786     libnsm.a: Replace __attribute_noinline__
787     
788     Replace the __attribute_noinline__ form with
789     
790       __attribute__((__noinline__)).
791     
792     Even though the compiler didn't complain about __attribute_malloc__,
793     also replace those in order to maintain consistent style throughout the
794     source file.
795     
796     Fix for:
797     
798       https://bugzilla.linux-nfs.org/show_bug.cgi?id=194
799     
800     Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
801     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
802     Signed-off-by: Steve Dickson <steved@redhat.com>
803
804 commit 7869a76207d3f4b3bd4ab57b4a7a8807ac2ff0c6
805 Author: Chuck Lever <chuck.lever@oracle.com>
806 Date:   Mon Dec 13 14:36:15 2010 -0500
807
808     sm-notify: Make use of AI_NUMERICSERV conditional
809     
810     Gabor Papp reports nfs-utils-1.2.3 doesn't build on his system that
811     uses glibc-2.2.5:
812     
813     make[3]: Entering directory
814     `/home/gzp/src/nfs-utils-1.2.3/utils/statd'
815     gcc -DHAVE_CONFIG_H -I. -I../../support/include   -D_GNU_SOURCE -Wall
816         -Wextra -Wstrict-prototypes  -pipe -g -O2 -MT sm-notify.o -MD
817         -MP -MF .deps/sm-notify.Tpo -c -o sm-notify.o sm-notify.c
818         sm-notify.c: In function 'smn_bind_address':
819     sm-notify.c:247: error: 'AI_NUMERICSERV' undeclared (first use in this
820     function)
821     sm-notify.c:247: error: (Each undeclared identifier is reported only
822     once
823     sm-notify.c:247: error: for each function it appears in.)
824     make[3]: *** [sm-notify.o] Error 1
825     
826     According to the getaddrinfo(3) man page, AI_NUMERICSERV is available
827     only since glibc 2.3.4.  getaddrinfo(3) seems to convert strings
828     containing a number to the right port value without the use of
829     AI_NUMERICSERV, so I think we can survive on older glibc's without it.
830     It will allow admins to specify service names as well as port numbers
831     on those versions.
832     
833     There are uses of AI_NUMERICSERV in gssd and in nfs_svc_create().  The
834     one in nfs_svc_create() is behind HAVE_LIBTIRPC, and the other is a
835     issue only for those who want to deploy Kerberos -- likely in both
836     cases, a more modern glibc will be present.  I'm going to leave those
837     two.
838     
839     Fix for:
840     
841       https://bugzilla.linux-nfs.org/show_bug.cgi?id=195
842     
843     Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
844     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
845     Signed-off-by: Steve Dickson <steved@redhat.com>
846
847 commit e8dbaddc8465dcd07b53f8e80a537703dd0248ca
848 Author: Sid Moore <learnmost@gmail.com>
849 Date:   Fri Dec 3 09:19:06 2010 -0500
850
851     rpc.mountd: Checking RPC Procedure ID before process it
852     
853     Signed-off-by: Steve Dickson <steved@redhat.com>
854
855 commit 3c6973c595d62dc6452967d50ae8abe69f9f8bad
856 Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
857 Date:   Mon Nov 29 10:59:10 2010 -0500
858
859     libnfs.a: fix a bug when parse section's arg
860     
861     When parsing section's arg at configure file, the pointer
862     should stop when fetch ']', and give the warning message.
863     
864     Signed-off-by: Steve Dickson <steved@redhat.com>
865
866 commit 86f7be64cafd17d4a3f164603484eaedb4757431
867 Author: Harshula Jayasuriya <harshula@redhat.com>
868 Date:   Mon Nov 22 11:22:31 2010 -0500
869
870     nfs-utils: nfsstat: has_stats() does not function correctly for NFSv4 client stats
871     
872     The NFSv4 client procs/ops in "struct rpc_procinfo nfs4_procedures" is
873     used to generate the NFS client stats interface:
874     ------------------------------------------------------------
875     net 0 0 0 0
876     rpc 15 0 0
877     proc2 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
878     proc3 22 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0
879     proc4 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
880     0 0 0
881     0 0 0 0 0 0 0
882     ------------------------------------------------------------
883     Note, for proc4, the number 42. That is the number of stats that follow
884     on the same line. Currently nfsstat's has_stats() relies on this number
885     to be equal to CLTPROC4_SZ. Unfortunately this is not the case. I have
886     changed has_stats() not to rely on these two values being equal. This
887     should also allow nfsstat to work with different kernel versions that
888     expose a different number of NFS client ops.
889     
890     * Fix has_stats()
891     * Stop print_clnt_list() printing server stats!
892     * Describe the option -3 and -4 completely in the nfsstat manpage.
893     
894     Signed-off-by: Harshula Jayasuriya <harshula@redhat.com>
895     Signed-off-by: Steve Dickson <steved@redhat.com>
896
897 commit 0868dcccb9a3bf3d022a32ff31311fe371484e77
898 Author: Steve Dickson <steved@redhat.com>
899 Date:   Sat Nov 20 15:01:21 2010 -0500
900
901     Enable nfsidmap to compile
902     
903     Only enable the compilation of nfsidmap when libnfsidmap support it.
904     
905     Signed-off-by: Steve Dickson <steved@redhat.com>
906
907 commit 6f07548141e710767d425e119d9823691293771d
908 Author: Bryan Schumaker <bjschuma@netapp.com>
909 Date:   Fri Nov 19 12:01:10 2010 -0500
910
911     Add the new nfsidmap program
912     
913     This patch adds the nfsidmap program to nfs-utils.  This program is
914     called by the nfs idmapper through request-keys to map between
915     uid / user name and gid / group name.
916     
917     Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
918     Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
919     Signed-off-by: Steve Dickson <steved@redhat.com>
920
921 commit 409487978593de13ae36be0ee56d8111ad6b3319
922 Author: Steve Dickson <steved@redhat.com>
923 Date:   Mon Nov 22 11:33:37 2010 -0500
924
925     Removed a couple warnings from utils/mount/stropts.c
926     
927     stropts.c:740:6: warning: 'ret' may be used uninitialized in this function
928     stropts.c:653:6: warning: 'ret' may be used uninitialized in this function
929     
930     Signed-off-by: Steve Dickson <steved@redhat.com>
931
932 commit f4968a724c1d4162a8e2b9f6a19c460cc56c95f7
933 Author: Chuck Lever <chuck.lever@oracle.com>
934 Date:   Fri Oct 29 12:56:21 2010 -0400
935
936     nfs(5): Document remount behavior
937     
938     It appears that, for a long while, NFS "remount" mounts have
939     completely wiped the existing mount options in /etc/mtab for a given
940     mount point.  This is a problem for umount.nfs, since it reads its
941     options out of /etc/mtab to find out how to do the unmount.
942     
943     The mount(8) command provides the NFS mount subcommand with the mount
944     options to perform the remount.  There are four cases to consider:
945     
946       1. Both the device and mount directory are specified on the
947          command line, and the target mount point is in /etc/fstab
948     
949       2. Only one of the device and mount directory is specified on
950          the command line, and the target mount point is in
951          /etc/fstab
952     
953       3. Both the device and mount directory are specified on the
954          command line, and the target mount point is not in /etc/fstab
955     
956       4. Only one of the device and mount directory is specified on
957          the command line, and the target mount point is not in
958          /etc/fstab
959     
960     Currently only case 4 works correctly.  In that case, mount(8)
961     provides the correct set of mount options to the mount.nfs
962     subcommand and it can update /etc/mtab correctly.
963     
964     Cases 1 and 3 replace all mount options in /etc/mtab with the options
965     provided on the command line during a remount.  Case 2 replaces the
966     mount options in /etc/mtab with a mix of options from /etc/fstab and
967     /etc/mtab.
968     
969     Cases 1 and 3 are historical behavior.  Basically this is a formal
970     interface to allow administrators to replace the mount options in
971     /etc/mtab completely, instead of merging in new ones.  The present
972     patch documents that behavior in nfs(5), and provides best practice
973     for remounting NFS mount points.
974     
975     There are near-term plans to address case 2 by fixing mount(8)
976     (provided by utils-linux-ng in most distributions).
977     
978     This is a partial fix for:
979     
980       https://bugzilla.linux-nfs.org/show_bug.cgi?id=188
981     
982     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
983     Signed-off-by: Steve Dickson <steved@redhat.com>
984
985 commit 6d1a82b005994f759f2c847c0354413a24643da5
986 Author: Chuck Lever <chuck.lever@oracle.com>
987 Date:   Thu Oct 28 13:15:22 2010 -0400
988
989     nfs(5): Grammar and style fixes
990     
991     Clean up grammar and style issues introduced by recent updates.  Also,
992     I'm not certain inappropriate options are always ignored.
993     
994     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
995     Signed-off-by: Steve Dickson <steved@redhat.com>
996
997 commit ab2cdb859f738a25e2567a2ec674cfa78a0a175d
998 Author: Chuck Lever <chuck.lever@oracle.com>
999 Date:   Thu Oct 28 13:13:19 2010 -0400
1000
1001     mount.nfs: mnt_freq and mnt_pass are always zero
1002     
1003     Clean up.
1004     
1005     No need to pass constant zeros to add_mtab() from its only call site.
1006     Ensure that initialization of a struct mntent is consistent in both
1007     places that it is done.
1008     
1009     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1010     Signed-off-by: Steve Dickson <steved@redhat.com>
1011
1012 commit bc4a0c42570d5620cc1bb32428e16b9c9b5f3863
1013 Author: Chuck Lever <chuck.lever@oracle.com>
1014 Date:   Thu Oct 28 13:10:48 2010 -0400
1015
1016     mount.nfs: Fix memory leak in nfs_sys_mount()
1017     
1018     This appears to have been left behind by last year's adjustments to
1019     how the extra_opts string is constructed.
1020     
1021     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1022     Signed-off-by: Steve Dickson <steved@redhat.com>
1023
1024 commit 1f237ac72e6f563908b350e11fd2bb866c003028
1025 Author: Chuck Lever <chuck.lever@oracle.com>
1026 Date:   Thu Oct 28 13:09:38 2010 -0400
1027
1028     mount: Fix compiler warning in nfs_parse_retry_option()
1029     
1030     stropts.c: In function nfs_parse_retry_option:
1031     stropts.c:131: warning: conversion to unsigned int from long int may
1032     alter its value
1033     
1034     Make it more clear what the second argument is for, and flag the
1035     switch fallthrough case.
1036     
1037     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1038     Signed-off-by: Steve Dickson <steved@redhat.com>
1039
1040 commit 1ea2c3be33f2eb4630c5cdb78edf2bb670b294ab
1041 Author: Chuck Lever <chuck.lever@oracle.com>
1042 Date:   Thu Oct 28 12:12:12 2010 -0400
1043
1044     nfs-utils: Remove all uses of AI_ADDRCONFIG
1045     
1046     It was reported that, if only "lo" is up,
1047     
1048       mount.nfs 127.0.0.1:/export /mount
1049     
1050     fails with "Name or service not known".
1051     
1052     "man 3 getaddrinfo" says this:
1053     
1054       If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4
1055       addresses are returned in the list pointed to by res only if the
1056       local system has at least one IPv4 address configured, and IPv6
1057       addresses are only returned if the local system has at least
1058       one IPv6 address configured.
1059     
1060     The man page oversimplifies here.  A review of glibc shows that
1061     getaddrinfo(3) explicitly ignores loopback addresses when deciding
1062     whether an IPv4 or IPv6 address is configured.
1063     
1064     This behavior around loopback is a problem not just for mount.nfs,
1065     but also for RPC daemons that have to start up before a system's
1066     networking is fully configured and started.  Given the history of
1067     other problems with AI_ADDRCONFIG and the unpredictable behavior it
1068     introduces, let's just remove it everywhere in nfs-utils.
1069     
1070     This fix addresses:
1071     
1072       https://bugzilla.linux-nfs.org/show_bug.cgi?id=191
1073     
1074     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1075     Signed-off-by: Steve Dickson <steved@redhat.com>
1076
1077 commit f8e315543b7f1db7f37a4bfe8ede3020cef62868
1078 Author: Jeff Layton <jlayton@redhat.com>
1079 Date:   Thu Oct 28 09:18:33 2010 -0400
1080
1081     nfs-utils: fix default value for --enable-tirpc
1082     
1083     We need $enable_tirpc to be a tristate. 'yes' means that someone
1084     explicitly requested building with tirpc. 'no' means that it was
1085     explicitly disabled. Anything else means that no one specified a value.
1086     
1087     Fix it by setting the value to a blank string so that the default is
1088     properly undefined.
1089     
1090     Reported-by: Chuck Lever <chuck.lever@oracle.com>
1091     Signed-off-by: Jeff Layton <jlayton@redhat.com>
1092     Signed-off-by: Steve Dickson <steved@redhat.com>
1093
1094 commit c62d756402509ca5d07c1fd4d2e5a9d78dc4171b
1095 Author: Steve Dickson <steved@redhat.com>
1096 Date:   Tue Oct 19 15:54:35 2010 -0400
1097
1098     Updated rpc.mountd man page
1099     
1100     Updated the rpc.mountd man page to no longer reference
1101     v3 as the "newer" version and also mentioned v4 as
1102     a supported version.
1103     
1104     Signed-off-by: Steve Dickson <steved@redhat.com>
1105
1106 commit 79e9079e9af4e5c2aa1d77815df1147b26876eb8
1107 Author: Steve Dickson <steved@redhat.com>
1108 Date:   Tue Oct 19 15:54:04 2010 -0400
1109
1110     Cleared up the sync option in exportfs man page
1111     
1112     Signed-off-by: Steve Dickson <steved@redhat.com>
1113
1114 commit 6f228ea26be06572de245aed5496aaa122cca5a8
1115 Author: Steve Dickson <steved@redhat.com>
1116 Date:   Fri Oct 15 17:20:28 2010 -0400
1117
1118     Removed duplicate entries in export man page
1119     
1120     The man page's paragraphs about "refer=" and "replicas="
1121     each appear twice.
1122     
1123     Signed-off-by: Steve Dickson <steved@redhat.com>
1124
1125 commit 849b7072a04975bb5da09245fbcacb0cb754a909
1126 Author: Chuck Lever <chuck.lever@oracle.com>
1127 Date:   Thu Oct 14 10:33:25 2010 -0400
1128
1129     mountd: Clear mountd registrations at start up
1130     
1131     Clear stale MNT registrations before mountd tries to create fresh
1132     listeners, to ensure that mountd starts.  This is also what statd does.
1133     
1134     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1135     Signed-off-by: Steve Dickson <steved@redhat.com>
1136
1137 commit 93dcf64cc4a9e67f693aea35c8193428015f4a30
1138 Author: Chuck Lever <chuck.lever@oracle.com>
1139 Date:   Wed Oct 13 13:57:52 2010 -0400
1140
1141     behavior as file systems that use the monolithic /sbin/mount command.
1142     See the MS_NOMTAB macro in utils-linux-ng/mount/mount.c.
1143     
1144     Note that mount(8) has MS_USERS and MS_USER in the "nomtab" category
1145     as well, but mount.nfs needs to record those values so that unmounting
1146     a user-mounted NFS file system can work.
1147     
1148     While we're here, fix some white space damage in fix_opts_string().
1149     
1150     This is a partial fix for:
1151     
1152       https://bugzilla.linux-nfs.org/show_bug.cgi?id=188
1153     
1154     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1155     Signed-off-by: Steve Dickson <steved@redhat.com>
1156
1157 commit dc08c702a6c7f824f317af561f491635ee898a71
1158 Author: Chuck Lever <chuck.lever@oracle.com>
1159 Date:   Wed Oct 13 13:55:10 2010 -0400
1160
1161     umount.nfs: Distinguish between nfs4 and nfs mounts
1162     
1163     Neil Brown reports that umount.nfs is still confused by "-t nfs -o
1164     vers=4" mounts.
1165     
1166     /etc/mtab can be confused.  /proc/mounts is authoritative on the
1167     fstype of a mount.  Have umount.nfs consult it to determine which
1168     mechanism to use for unmounting.  The code to read /proc/mounts was
1169     lifted from the nfsstat command.
1170     
1171     The code introduced by this patch may look like belt-n-suspenders, but
1172     we have two use cases to consider:
1173     
1174       1.  Old kernels don't support the "vers=4" mount option, so
1175           umount.nfs must look for the "nfs4" fstype
1176       2.  Upcoming kernels may eliminate support the "nfs4" fstype, so
1177           umount.nfs must look for the "vers=4" mount option
1178     
1179     Thus this logic checks for "nfs4" first then looks for the NFS version
1180     setting.
1181     
1182     Note that we could handle unmounting entirely in the kernel, but that
1183     won't help older kernels that have this issue.
1184     
1185     See:
1186       https://bugzilla.linux-nfs.org/show_bug.cgi?id=189
1187     
1188     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1189     Signed-off-by: Steve Dickson <steved@redhat.com>
1190
1191 commit 17962b82afb68ca8e6b0d3f432d36c6c7c4980ea
1192 Author: Chuck Lever <chuck.lever@oracle.com>
1193 Date:   Wed Oct 13 13:01:51 2010 -0400
1194
1195     mount.nfs: mountproto does not support RDMA
1196     
1197     Clean up.  Our client does not support the MNT protocol on RDMA.
1198     
1199     nfs_mount_protocol() isn't invoked for RDMA mounts (they are shunted
1200     off before nfs_options2pmap() is invoked).  But in case it ever is,
1201     it should return the expected response.
1202     
1203     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1204     Signed-off-by: Steve Dickson <steved@redhat.com>
1205
1206 commit 73c61fa5cd114fa6eae0e095724ed63aa66a4a6b
1207 Author: NeilBrown <neilb@suse.de>
1208 Date:   Wed Oct 13 12:08:41 2010 -0400
1209
1210     gcc complained:
1211     
1212     client.c: In function 'init_netmask6':
1213     client.c:181:1: warning: no return statement in function returning
1214     non-void
1215     
1216     and Suse' build system complained
1217     
1218     I: Program returns random data in a function
1219     E: nfs-utils no-return-in-nonvoid-function client.c:181
1220     
1221     when I built without --enable-ipv6
1222     
1223     Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
1224     Signed-off-by: NeilBrown <neilb@suse.de>
1225     Signed-off-by: Steve Dickson <steved@redhat.com>
1226
1227 commit 7e90281b88c05b01c61152b54a0cf2faec45b09c
1228 Author: Chuck Lever <chuck.lever@oracle.com>
1229 Date:   Wed Oct 13 12:02:32 2010 -0400
1230
1231     mount.nfs: Eliminate compiler warnings in utils/mount/network.c
1232     
1233     Clean up.
1234     
1235     network.c: In function get_socket:
1236     network.c:431: warning: dereferencing type-punned pointer might break
1237         strict-aliasing rules
1238     
1239     network.c: In function probe_bothports:
1240     network.c:759: warning: dereferencing type-punned pointer might break
1241         strict-aliasing rules
1242     network.c:762: warning: dereferencing type-punned pointer might break
1243         strict-aliasing rules
1244     
1245     network.c: In function nfs_probe_statd:
1246     network.c:775: warning: dereferencing type-punned pointer might break
1247         strict-aliasing rules
1248     
1249     network.c: In function nfs_call_umount:
1250     network.c:904: warning: dereferencing type-punned pointer might break
1251         strict-aliasing rules
1252     
1253     network.c: In function nfs_ca_sockname:
1254     network.c:1106: warning: dereferencing type-punned pointer might break
1255         strict-aliasing rules
1256     network.c:1112: warning: dereferencing type-punned pointer might break
1257         strict-aliasing rules
1258     
1259     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1260     Signed-off-by: Steve Dickson <steved@redhat.com>
1261
1262 commit 57385cf87790c0cbdfddfccdde66bd2c8da45923
1263 Author: Chuck Lever <chuck.lever@oracle.com>
1264 Date:   Wed Oct 13 11:59:30 2010 -0400
1265
1266     mount.nfs: Eliminate compiler warning in utils/mount/parse_opt.c
1267     
1268     parse_opt.c: In function po_rightmost:
1269     parse_opt.c:517: warning: conversion to int from unsigned int may
1270         change the sign of the result
1271     
1272     "i" contains the function's result value, so it should be defined as
1273     the same type as the function's return type.
1274     
1275     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1276     Signed-off-by: Steve Dickson <steved@redhat.com>
1277
1278 commit 1ee10ef034cbca86da4df271ac4097a948e7ab59
1279 Author: Chuck Lever <chuck.lever@oracle.com>
1280 Date:   Wed Oct 13 11:58:27 2010 -0400
1281
1282     mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c
1283     
1284     Clean up.
1285     
1286     nfsumount.c:374: warning: ISO C forbids omitting the middle term of
1287        a ?: expression
1288     
1289     This is also probably harmless, but let's make the code unambiguous.
1290     
1291     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1292     Signed-off-by: Steve Dickson <steved@redhat.com>
1293
1294 commit e9c97e4f7075e563d7a442ca8298ac56bafba0d5
1295 Author: Chuck Lever <chuck.lever@oracle.com>
1296 Date:   Wed Oct 13 11:56:58 2010 -0400
1297
1298     mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c
1299     
1300     Clean up.
1301     
1302     nfsumount.c:265: warning: no previous prototype for nfsumount
1303     
1304     It's also a good idea if the compiler can ensure that the prototype
1305     in nfsmount.h matches the actual function defined in nfsumount.c.
1306     
1307     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1308     Signed-off-by: Steve Dickson <steved@redhat.com>
1309
1310 commit e2b6d9cbaf20df26dd371a715fce3ae158f37126
1311 Author: Chuck Lever <chuck.lever@oracle.com>
1312 Date:   Wed Oct 13 11:54:49 2010 -0400
1313
1314     mount.nfs: Eliminate compiler warnings in utils/mount/mount.c
1315     
1316     Clean up.
1317     
1318     mount.c: In function parse_opt:
1319     mount.c:354: warning: conversion to size_t from int may change the
1320         sign of the result
1321     mount.c:354: warning: conversion to int from size_t may change the
1322         sign of the result
1323     mount.c:359: warning: conversion to size_t from int may change the
1324         sign of the result
1325     mount.c:359: warning: conversion to int from size_t may change the
1326         sign of the result
1327     mount.c: In function parse_opts:
1328     mount.c:374: warning: conversion to int from size_t may change the
1329         sign of the result
1330     mount.c:377: warning: conversion to size_t from int may change the
1331         sign of the result
1332     
1333     Character string lengths are usually size_t anyway.  We can easily
1334     avoid the implicit type cast here.
1335     
1336     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1337     Signed-off-by: Steve Dickson <steved@redhat.com>
1338
1339 commit 013e8ec9ffb9f28f97e58299719023faf846a029
1340 Author: Chuck Lever <chuck.lever@oracle.com>
1341 Date:   Wed Oct 13 11:53:44 2010 -0400
1342
1343     mount.nfs: Eliminate compiler warning in utils/mount/mount.c
1344     
1345     Clean up.
1346     
1347     mount.c: At top level:
1348     mount.c:324: warning: no previous prototype for ?mount_usage?
1349     
1350     mount_usage() has no callers outside of utils/mount/mount.c and no
1351     prototype is provided in a header file.  Make it static.
1352     
1353     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1354     Signed-off-by: Steve Dickson <steved@redhat.com>
1355
1356 commit 47480475c99335c1203e81662f815b62573c19e8
1357 Author: Chuck Lever <chuck.lever@oracle.com>
1358 Date:   Wed Oct 13 11:50:57 2010 -0400
1359
1360     mount.nfs: Eliminate compiler warnings in utils/mount/version.h
1361     
1362     Clean up.
1363     
1364     In file included from mount.c:50:
1365     version.h: In function linux_version_code:
1366     version.h:48: warning: conversion to unsigned int from int may
1367         change the sign of the result
1368     version.h:48: warning: conversion to unsigned int from int may
1369         change the sign of the result
1370     version.h:48: warning: conversion to unsigned int from int may
1371         change the sign of the result
1372     
1373     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1374     Signed-off-by: Steve Dickson <steved@redhat.com>
1375
1376 commit 00885013dccbe00f5cc4e19223cf18e85a8e616a
1377 Author: Chuck Lever <chuck.lever@oracle.com>
1378 Date:   Wed Oct 13 11:44:23 2010 -0400
1379
1380     mount.nfs: Eliminate compiler warning in utils/mount/mount.c
1381     
1382     Clean up.
1383     
1384     In file included from mount.c:41:
1385     mount_config.h:35: warning: no previous prototype for mount_config_opts
1386     
1387     Functions defined in include files are usually declared as "static
1388     inline," eliminating the need for a forward declaration.
1389     
1390     While I was there, I also fixed the macro that prevents including
1391     mount_config.h multiple times, and fixed some white space damage.
1392     
1393     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1394     Signed-off-by: Steve Dickson <steved@redhat.com>
1395
1396 commit ffa577350b03ddd421d455a8cd4cff86e3718264
1397 Author: Chuck Lever <chuck.lever@oracle.com>
1398 Date:   Wed Oct 13 11:38:22 2010 -0400
1399
1400     mount.nfs: Eliminate compiler warnings
1401     
1402     Clean up.
1403     
1404     fstab.c: In function ?lock_mtab?:
1405     fstab.c:385: warning: declaration of ?errsv? shadows a previous local
1406     fstab.c:367: warning: shadowed declaration is here
1407     fstab.c:407: warning: declaration of ?errsv? shadows a previous local
1408     fstab.c:367: warning: shadowed declaration is here
1409     fstab.c:417: warning: declaration of ?tries? shadows a previous local
1410     fstab.c:325: warning: shadowed declaration is here
1411     fstab.c:422: warning: declaration of ?errsv? shadows a previous local
1412     fstab.c:367: warning: shadowed declaration is here
1413     
1414     These are probably harmless.  Reusing a variable name, however, is a
1415     little confusing to follow when reading the code.
1416     
1417     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1418     Signed-off-by: Steve Dickson <steved@redhat.com>
1419
1420 commit 5fe118b838254023d83424c5010ae73a91ec267d
1421 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
1422 Date:   Wed Oct 13 11:27:21 2010 -0400
1423
1424     export: Ensure that we free struct exportent->e_uuid
1425     
1426     Currently, the exportent->e_uuid is initialised in
1427     support/nfs/exports.c:parseopts(), but it is never freed.
1428     
1429     Also ensure that exportent->e_uuid is duplicated correctly in
1430     dupexportent().
1431     
1432     Adjusted to account for the new export_free() helper.
1433     
1434     Also, e_uuid points to memory that is always allocated with strdup(3),
1435     not with xstrdup().  Thus it must be freed via free(3) and not via
1436     xfree().
1437     
1438     Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
1439     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1440     Signed-off-by: Steve Dickson <steved@redhat.com>
1441
1442 commit 656028f9925f5817c5a37565d27159973db84ec3
1443 Author: Chuck Lever <chuck.lever@oracle.com>
1444 Date:   Wed Oct 13 11:22:07 2010 -0400
1445
1446     libnfs.a: Allow multiple RPC listeners to share     listener port number
1447     
1448     Normally, when "-p" is not specified on the mountd command line, the
1449     TI-RPC library chooses random port numbers for each listener.  If a
1450     port number _is_ specified on the command line, all the listeners
1451     will get the same port number, so SO_REUSEADDR needs to be set on
1452     each socket.
1453     
1454     Thus we can't let TI-RPC create the listener sockets for us in this
1455     case; we must create them ourselves and then set SO_REUSEADDR (and
1456     other socket options) by hand.
1457     
1458     Different versions of the same RPC program have to share the same
1459     listener and SVCXPRT, so we have to cache xprts we create, and re-use
1460     them when additional requests for registration come from the
1461     application.
1462     
1463     Though it doesn't look like it, this fix was "copied" from the legacy
1464     rpc_init() function.  It's more complicated for TI-RPC, of course,
1465     since a TI-RPC application can set up listeners with a nearly
1466     arbitrary number of address families and socket types, not just the
1467     two listeners that legacy RPC applications can set up (one for AF_INET
1468     UDP and one for AF_INET TCP).
1469     
1470     See:
1471       https://bugzilla.linux-nfs.org/show_bug.cgi?id=190
1472     
1473     Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1474     Signed-off-by: Steve Dickson <steved@redhat.com>
1475
1476 commit 1296be71ebae4c0d7da61cc1077d97562d3bc549
1477 Author: Steve Dickson <steved@redhat.com>
1478 Date:   Wed Oct 13 10:17:58 2010 -0400
1479
1480     nfs-utils: Fixed typo in NFS man page
1481     
1482     Chuck pointed out there was a grammar typo in addition to the spelling
1483     typo.  Here is a revised version of the patch.
1484     
1485     Signed-off-by: Jim Rees <rees@umich.edu>
1486     Signed-off-by: Steve Dickson <steved@redhat.com>
1487
1488 commit 9afbdbad4436df6f7a5a501c6e4db04c3a5bbb08
1489 Author: Steve Dickson <steved@redhat.com>
1490 Date:   Wed Oct 13 10:15:12 2010 -0400
1491
1492     Fix style nits in atomicio.c
1493     
1494     Signed-off-by: Jim Rees <rees@umich.edu>
1495     Signed-off-by: Steve Dickson <steved@redhat.com>
1496
1497 commit c117b7a1f29db65d139824ba5bab2a58bf5609e2
1498 Author: Steve Dickson <steved@redhat.com>
1499 Date:   Wed Oct 13 10:09:53 2010 -0400
1500
1501     nfs-utils: Move common code into support
1502     
1503     There are several source files and headers present in the ./utils/idmapd
1504     directory which are also usable in a doimapd daemon. Because of this we
1505     move that support into the support directory such that it can be shared by
1506     both daemons.
1507     
1508     Signed-off-by: Jim Rees <rees@umich.edu>
1509     Signed-off-by: Steve Dickson <steved@redhat.com>
1510
1511 commit 8c217b9623c8304608196aeb2f7360abfdf987c8
1512 Author: Suresh Jayaraman <sjayaraman@suse.de>
1513 Date:   Wed Sep 29 07:14:14 2010 -0400
1514
1515     The kernel 2.6.37 has a add new mount option: local_lock.
1516     Document the new option in the nfs(5) man page.
1517     
1518     Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
1519     Signed-off-by: Steve Dickson <steved@redhat.com>
1520
1521 commit 554df6bc8456c6971c1c597f70d3b9131e4e5e11
1522 Author: Steve Dickson <steved@redhat.com>
1523 Date:   Tue Sep 28 08:24:16 2010 -0400
1524
1525     Revert "nfs-iostat.py: don't wait for an extra interval when given a count"
1526     
1527     This reverts commit 837796686ad8f9178c7b6855ada728a53ae511e3.