1 commit 3030aded70e616cdeac4223785754b86a33b587d
2 Author: Eberhard Kuemmerle <e.kuemmerle@fz-juelich.de>
3 Date: Mon Sep 27 13:24:48 2010 -0400
5 Added the -p <principal> flag to the svcgssd manpage
7 Signed-off-by: Eberhard Kuemmerle <E.Kuemmerle@fz-juelich.de>
8 Signed-off-by: Steve Dickson <steved@redhat.com>
10 commit 6cc96cada639a823961d5d8a136cbcdc8b8952b8
11 Author: Eberhard Kuemmerle <e.kuemmerle@fz-juelich.de>
12 Date: Mon Sep 27 13:16:23 2010 -0400
14 svcgssd: Adding a <-p principal> flag
16 Allow the principal that is used to get the machines creds definable
17 on the command like with the new '-p <principal>'. This is useful
18 in cluster environments.
20 Signed-off-by: Eberhard Kuemmerle <E.Kuemmerle@fz-juelich.de>
21 Signed-off-by: Steve Dickson <steved@redhat.com>
23 commit 837796686ad8f9178c7b6855ada728a53ae511e3
24 Author: David Lecorfe <dlecorfec@gmail.com>
25 Date: Mon Sep 27 13:29:31 2010 -0400
27 nfs-iostat.py: don't wait for an extra interval when given a count
29 If I invoke the tool with an interval of 10 and a count of 2, it will:
32 - show the stats for the last 10s
36 Signed-off-by: David Lecorfe <dlecorfec@gmail.com>
37 Signed-off-by: Steve Dickson <steved@redhat.com>
39 commit eaa588a137b0b2f38aa9e9c542635a222e51ee48
40 Author: Chuck Lever <chuck.lever@oracle.com>
41 Date: Mon Sep 27 10:16:34 2010 -0400
43 nfsd: Enable IPv6 support in rpc.nfsd again.
45 Revert commit b2a3cd59 so that rpc.nfsd can create IPv6 listener
46 sockets for the kernel.
48 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
49 Signed-off-by: Steve Dickson <steved@redhat.com>
51 commit c18e9a780f376b868e62b75abe64b0fd9915ada5
52 Author: Chuck Lever <chuck.lever@oracle.com>
53 Date: Mon Sep 27 10:14:34 2010 -0400
55 mountd: Update mountd/exportfs man pages to reflect IPv6 changes
57 Document IPv6 support in rpc.mountd and exportfs, and clarify existing
58 language in the man page.
60 Clean up: Use bold consistently for program names, and italics
61 consistently for file names. Use "rpc.mountd" consistently as the
62 name of the mountd daemon.
64 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
65 Signed-off-by: Steve Dickson <steved@redhat.com>
67 commit 7e454e03131f56872639fe7b62b726479b22c087
68 Author: Chuck Lever <chuck.lever@oracle.com>
69 Date: Mon Sep 27 10:13:39 2010 -0400
71 mountd: Use MNT status values instead of NFSERR
73 Clean up: The MNT protocol has its own enum type defining error
74 status values. While the values can be the same as the NFSERR enum
75 type on some systems, it's not guaranteed to be true everywhere.
77 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
78 Signed-off-by: Steve Dickson <steved@redhat.com>
80 commit ef32b76ae37926faacaf4b8121eba638567c4692
81 Author: Chuck Lever <chuck.lever@oracle.com>
82 Date: Mon Sep 27 10:11:18 2010 -0400
84 mountd: Fix up version and usage messages
86 Clean up: rpc.mountd is no longer known as kmountd. Use the program's
87 basename rather than the full pathname for the usage message. Display
88 a version message at start up similar to statd's.
90 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
91 Signed-off-by: Steve Dickson <steved@redhat.com>
93 commit 2c15cf2963367dee7106964c38ab7b1e30ba347d
94 Author: Chuck Lever <chuck.lever@oracle.com>
95 Date: Mon Sep 27 10:09:49 2010 -0400
97 mountd: Unregister mountd if my_svc_run() returns
99 Fix a long standing bug: when my_svc_run() returns, mountd should
100 unregister itself with the local rpcbind so that it can subsequently
103 Log a more helpful error message in this case.
105 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
106 Signed-off-by: Steve Dickson <steved@redhat.com>
108 commit b551b1fd0052de9b8c674b30c39d9f2a1e9d79cc
109 Author: Chuck Lever <chuck.lever@oracle.com>
110 Date: Mon Sep 27 10:09:10 2010 -0400
112 mountd: Support TI-RPC mountd listener
114 If TI-RPC is available, use it to create mountd's svc listener. If
115 not, use the old function, rpc_init(), to create mountd's listener.
117 IPv6 can be supported if TI-RPC is available. In this case,
118 /etc/netconfig is searched to determine which transports to advertise.
120 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
121 Signed-off-by: Steve Dickson <steved@redhat.com>
123 commit c5571da8e92f87fc9ec6e8aa8075c69497361c87
124 Author: Chuck Lever <chuck.lever@oracle.com>
125 Date: Mon Sep 27 10:06:35 2010 -0400
127 mountd: Make NFS version checks more strict
129 Ensure users and programmers specify NFS version numbers correctly.
130 This also makes the next patch more clean.
132 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
133 Signed-off-by: Steve Dickson <steved@redhat.com>
135 commit 05f93b531d59df6e976d9b40c97b51546524040a
136 Author: Chuck Lever <chuck.lever@oracle.com>
137 Date: Mon Sep 27 09:50:11 2010 -0400
139 nfs-utils: Fix source code character encoding
143 Most modern Linux distributions set UTF-8 locales. Standardize the
144 character encoding of source files on UTF-8, to squelch vim com-
147 I probably missed a few spots.
149 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
150 Signed-off-by: Steve Dickson <steved@redhat.com>
152 commit 5341111d4b34bcd1b1263d5ed215cbe375aa9314
153 Author: Steve Dickson <steved@redhat.com>
154 Date: Mon Sep 27 09:35:26 2010 -0400
156 libnfs.a: Remove support/nfs/fstab.c
158 Signed-off-by: Steve Dickson <steved@redhat.com>
160 commit 72ae199db4be7bf0092e15adaa8a43ce2434bf9f
161 Author: Jeff Layton <jlayton@redhat.com>
162 Date: Thu Sep 16 14:34:39 2010 -0400
164 rpc.nfsd: mount up nfsdfs is it doesn't appear to be mounted yet
166 There's a bit of a chicken and egg problem when nfsd is run the first
167 time. On Fedora/RHEL at least, /proc/fs/nfsd is mounted up whenever nfsd
168 is plugged in via a modprobe.conf "install" directive.
170 If someone runs rpc.nfsd without plugging in nfsd.ko first,
171 /proc/fs/nfsd won't be mounted and rpc.nfsd will end up using the legacy
172 nfsctl interface. After that, nfsd will be plugged in and subsequent
173 rpc.nfsd invocations will use that instead.
175 This is a problem as some nfsd command-line options are ignored when the
176 legacy interface is used. It'll also be a problem for people who want
177 IPv6 enabled servers. The upshot is that we really don't want to use the
178 legacy interface unless there is no other option.
180 To avoid this situation, have rpc.nfsd check to see if the "threads"
181 file is already present. If it's not, then make an attempt to mount
182 /proc/fs/nfsd. This is a "best-effort" sort of thing, however so we
183 just ignore the return code from the mount attempt and fall back to
184 using nfsctl() if it fails.
186 Signed-off-by: Jeff Layton <jlayton@redhat.com>
187 Signed-off-by: Steve Dickson <steved@redhat.com>
189 commit 63afb96b9d36e72782ad25ca496896029a9d9061
190 Author: Chuck Lever <chuck.lever@oracle.com>
191 Date: Thu Sep 16 14:25:52 2010 -0400
193 libexport.a: Enable IPv6 support in hostname.c
195 If --enable-ipv6 is specified when building nfs-utils, libexport's
196 host_foo() helpers can now return both IPv4 and IPv6 addresses.
198 This means IPv6 presentation addresses and IPv6 DNS resolution
199 results are handled properly in the mountd cache and /etc/exports,
200 but does not yet enable IPv6 mountd listeners.
202 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
203 Signed-off-by: Steve Dickson <steved@redhat.com>
205 commit d901e329e380a2adc22783b1b241e414aa24cf51
206 Author: Chuck Lever <chuck.lever@oracle.com>
207 Date: Thu Sep 16 14:21:48 2010 -0400
209 mountd: Ensure cache downcall can handle IPv6 addresses
211 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
212 Signed-off-by: Steve Dickson <steved@redhat.com>
214 commit 1ba28ec59f39de0bc4953b42556d847efbb508eb
215 Author: Chuck Lever <chuck.lever@oracle.com>
216 Date: Thu Sep 16 14:21:08 2010 -0400
218 mountd: Handle IPv6 addresses in kernel auth_unix_ip upcalls
220 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
221 Signed-off-by: Steve Dickson <steved@redhat.com>
223 commit ffe8c9a084fec4fdd3acfcf4b36fbe434d297b82
224 Author: Chuck Lever <chuck.lever@oracle.com>
225 Date: Thu Sep 16 14:19:19 2010 -0400
227 mountd: clean up cache API
229 Clean up: Squelch compiler warnings and document public parts of
232 cache.c: At top level:
233 cache.c:67: warning: no previous prototype for auth_unix_ip
234 cache.c:123: warning: no previous prototype for auth_unix_gid
235 cache.c:217: warning: no previous prototype for get_uuid
236 cache.c:247: warning: no previous prototype for uuid_by_path
237 cache.c:326: warning: no previous prototype for nfsd_fh
238 cache.c:745: warning: no previous prototype for nfsd_export
239 cache.c:820: warning: no previous prototype for cache_open
240 cache.c:832: warning: no previous prototype for cache_set_fd
241 cache.c:841: warning: no previous prototype for
243 cache.c:921: warning: no previous prototype for cache_export
244 cache.c:953: warning: no previous prototype for
247 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
248 Signed-off-by: Steve Dickson <steved@redhat.com>
250 commit 6f189dae5eb38800c8ae3e2d5c098d11fb44d7d5
251 Author: Chuck Lever <chuck.lever@oracle.com>
252 Date: Thu Sep 16 14:17:08 2010 -0400
254 exportfs: Enable IPv6 support in matchhostname()
256 To gain IPv6 support in matchhostname(), simply replace the socket
257 address comparison helpers with the generic versions that can handle
260 host_addrinfo() (called by matchhostname()) returns IPv6 addresses
261 only if IPv6 support is enabled.
263 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
264 Signed-off-by: Steve Dickson <steved@redhat.com>
266 commit 10a6b17d3588647ab5e1ee81ba40f1ce12a5184d
267 Author: Chuck Lever <chuck.lever@oracle.com>
268 Date: Thu Sep 16 13:54:21 2010 -0400
270 mountd: Support IPv6 in mountlist_list()
272 Replace inet_aton(3) and gethostbyaddr(3) calls in mountlist_list()
273 with calls to the new host_foo() DNS helpers.
275 The new functions will support IPv6 without additional changes, once
276 IPv6 is enabled in the generic hostname helpers.
278 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
279 Signed-off-by: Steve Dickson <steved@redhat.com>
281 commit 76209cdbe989ee4cdfbf489f2695ac779457e763
282 Author: Chuck Lever <chuck.lever@oracle.com>
283 Date: Thu Sep 16 13:51:51 2010 -0400
285 mountd: Handle memory exhaustion in mountlist_list()
287 I'm about to replace inet_aton(3)/gethostbyaddr(3) with
288 host_pton()/host_canonname() in mountlist_list().
290 Since host_canonname() returns a string allocated with strdup(3)
291 instead of xstrdup(), mountlist_list() must now deal with memory
294 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
295 Signed-off-by: Steve Dickson <steved@redhat.com>
297 commit a8348c2c48d45f991995707fa22a2fa441aaa907
298 Author: Chuck Lever <chuck.lever@oracle.com>
299 Date: Thu Sep 16 13:48:38 2010 -0400
301 mountd: Add mountlist_freeall()
303 I'm about to add a second bit of logic that needs to free all
304 mountlist records, so introduce a helper for freeing them.
306 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
307 Signed-off-by: Steve Dickson <steved@redhat.com>
309 commit 454aea5dad83ca75f3154ff12ecff39169703e69
310 Author: Chuck Lever <chuck.lever@oracle.com>
311 Date: Thu Sep 16 13:46:26 2010 -0400
313 mountd: support IPv6 in mountlist_del_all()
315 Replace IPv4-specific code in the mountlist_del_all() path with code
316 that is address family agnostic.
318 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
319 Signed-off-by: Steve Dickson <steved@redhat.com>
321 commit 4210d6f0c9cad57907877bf1e5d32ebe4a27bf17
322 Author: Chuck Lever <chuck.lever@oracle.com>
323 Date: Thu Sep 16 13:44:02 2010 -0400
325 mountd: Support IPv6 in mountd's svc routines
327 Replace IPv4-specific code with use of our generic hostname helpers
328 in the routines that handle incoming MNT RPC requests.
330 These functions will support IPv6 without additional changes, once
331 IPv6 is enabled in the generic hostname helpers.
333 As part of this update, I've modified all of mountd's _svc routines
334 to use a debug message format that is consistent with statd. It may
335 be overkill for some of these; if so we can pull them out later.
337 Signed-off-by: Steve Dickson <steved@redhat.com>
339 commit f35762f959cc5f29ad7817f8b7968e3792132651
340 Author: Chuck Lever <chuck.lever@oracle.com>
341 Date: Thu Sep 16 13:39:39 2010 -0400
343 mountd: add IPv6 support in auth_authenticate()
345 Make the entire auth_authenticate() code path address-family agnostic.
347 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
348 Signed-off-by: Steve Dickson <steved@redhat.com>
350 commit 29b8a7700129d9768e3e2d94c81eec9f84ba8691
351 Author: Chuck Lever <chuck.lever@oracle.com>
352 Date: Thu Sep 16 09:32:52 2010 -0400
354 libnfs.a: Fix API for getfh() & friends
356 This is more of a clean-up than a behavioral change.
358 POSIX requires that a "struct sockaddr" is the same size as a "struct
359 sockaddr_in". Therefore, a variable or field of type "struct sockaddr"
360 cannot contain an AF_INET6 address. However, "struct sockaddr *" is
361 often used to reference a generic (ie non-address family specific)
362 socket address, generating some confusion about this.
364 The nfsctl_arg struct uses a struct sockaddr (not a pointer) to pass
365 the client's IP address to the kernel. This means the legacy nfsctl()
366 kernel API can never support IPv6. Fortunately for us, this legacy
367 interface was replaced by a text-based cache interface a few years
368 back. We don't need to support non-AF_INET addresses here.
370 The getfh() functions in nfs-utils provide a handy C API for the
371 kernel's nfsctl interface. The getfh() functions still take a struct
372 sockaddr *, though, and that can imply that a non-IPv4 address can be
373 passed via this API. To make it abundantly clear that only IPv4
374 addresses can be used with this interface, change the synopses of
375 getfh() and friends to take a struct sockaddr_in * instead of a struct
378 This makes these functions conform with other places in mountd and
379 exportfs that already grok the difference between a struct sockaddr
380 and a struct sockaddr_in.
384 Introduce some nice documenting comments for the get_fh() functions,
387 Since mountd will support IPv6 in the near future, assert that the
388 family of client addresses passed to this API is indeed AF_INET, in
389 order to prevent non-AF_INET addresses from ever being passed to the
390 legacy nfsctl() interface.
392 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
393 Signed-off-by: Steve Dickson <steved@redhat.com>
395 commit a88c279992f4b63e3dcaac9930e300fd4bb03dd7
396 Author: Chuck Lever <chuck.lever@oracle.com>
397 Date: Thu Sep 16 07:28:18 2010 -0400
399 mount.nfs: Don't do anything fancy if this is a remount
401 We don't want to append "vers=4" or perform any negotiation if the
402 "remount" mount option was specified. It will just end in tears.
404 This attempts to address
406 https://qa.mandriva.com/show_bug.cgi?id=60311
410 https://bugzilla.linux-nfs.org/show_bug.cgi?id=187
412 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
413 Signed-off-by: Steve Dickson <steved@redhat.com>
415 commit 6f73daf5a5711dc0620f7d43c61c4fd57c0d3f80
416 Author: Chuck Lever <chuck.lever@oracle.com>
417 Date: Thu Sep 16 07:26:07 2010 -0400
419 mount.nfs: Refactor mount version and protocol autonegotiation
423 I'm beginning to agree with Bruce and Steve's assessment that the
424 fallthrough switch case in nfs_try_mount() is more difficult to read
425 and understand than it needs to be. The logic that manages
426 negotiating NFS version and protocol settings is getting more complex
429 So let's split the autonegotiation piece out of nfs_try_mount().
431 We can reduce indenting, and use cleaner switch-based logic. Also,
432 adding more comments can only help.
434 Neil also suggested replacing the pre-call "errno = 0" trick. The
435 lower-level functions may try to mount several times (given a list of
436 addresses to try). errno could be set by any of those. The mount
437 request will succeed at some point, and "success" is returned, but
438 errno is still set to some non-zero value.
440 The kernel version check in nfs_try_mount() is more or less loop
441 invariant: it's impossible for the result of that test to change
442 between retries. So we should be able to safely move it to the logic
443 that sets the initial value of mi->version.
445 This patch is not supposed to cause a behavioral change.
447 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
448 Signed-off-by: Steve Dickson <steved@redhat.com>
450 commit 64bf8db367fd43e80dd135b460afc157808647fa
451 Author: Bian Naimeng <biannm@cn.fujitsu.com>
452 Date: Thu Sep 16 07:12:47 2010 -0400
454 rpc.idmapd: Type of idmap client should be defined by ic_id not ic_clid.
456 The type of idmap_client is defined by idmap_client.ic_id for nfs,
457 so nfsd should have the same style.
459 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
460 Signed-off-by: Steve Dickson <steved@redhat.com>
462 commit 7f77ef90ad52eced1552efc2242e063aa4501ddc
463 Author: Benny Halevy <bhalevy@panasas.com>
464 Date: Tue Jul 20 08:40:34 2010 +0300
466 nfsstat: add release_lockowner to client stats
468 Signed-off-by: Benny Halevy <bhalevy@panasas.com>
470 commit bf6da0a22d971364dae25ec2f62c01fbd2960f07
471 Author: Steve Dickson <steved@redhat.com>
472 Date: Thu Sep 9 10:47:32 2010 -0400
474 Cleaned up a warning from commit 44f09b7
476 Signed-off-by: Steve Dickson <steved@redhat.com>
478 commit 911630538580cdaaee1c37cdf1a8b35b8ed6b23f
479 Author: Chuck Lever <chuck.lever@oracle.com>
480 Date: Wed Sep 8 13:28:24 2010 -0400
482 mount.nfs: Prepare way for "vers=4,rdma" mounts
484 At some point, when the kernel starts to support "vers=4,rdma" mounts,
485 we will want the mount.nfs command to pass "vers=4,rdma" mounts
486 instead of rejecting them.
488 Assuming that the kernel will reject these today with EPROTONOSUPPORT,
489 that would cause the version fallback logic to go to "vers=3,rdma"
490 automatically. So the extra check we have now is not needed anyway.
492 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
493 Signed-off-by: Steve Dickson <steved@redhat.com>
495 commit f99d1b8e8768ab96b51bed52f21a626ac9a4797f
496 Author: Chuck Lever <chuck.lever@oracle.com>
497 Date: Wed Sep 8 13:27:31 2010 -0400
499 mount.nfs: Support an "rdma" mount option
501 The kernel NFS client's mount option parser recognizes a stand-alone
502 "rdma" mount option, similar to the legacy "udp" and "tcp" options.
504 The mount.nfs command text-based mount option parser used to pass
505 "rdma" straight to the kernel, but since we've started handling MNT in
506 the kernel instead of in user space, "rdma" on the command line has
509 Until now, no-one has noticed, especially since an "rdma" mount option
510 isn't documented in nfs(5).
512 Support "rdma" in mount.nfs command, and document it in nfs(5).
514 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
515 Signed-off-by: Steve Dickson <steved@redhat.com>
517 commit 44f09b7c4c79ca184a29138078c68a4db7aeb85a
518 Author: Chuck Lever <chuck.lever@oracle.com>
519 Date: Wed Sep 8 13:26:34 2010 -0400
521 mount.nfs: Use nfs_nfs_protocol() for checking for proto=rdma
523 Clean up: Now that nfs_get_proto() can recognize "rdma" we can re-use
524 nfs_nfs_protocol() instead of ad hoc checks for "proto=rdma".
526 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
527 Signed-off-by: Steve Dickson <steved@redhat.com>
529 commit a77ca5c6a79486dc8c5a4c327fe5310f5d497766
530 Author: Chuck Lever <chuck.lever@oracle.com>
531 Date: Wed Sep 8 13:25:56 2010 -0400
533 getport: Recognize "rdma" and "rdma6" netid
535 The mount.nfs command must recognize the values of "rdma" and "rdma6"
536 with the "proto=" mount option. Typically the mount.nfs command
537 relies on libtirpc or getprotobyname(3) to recognize netids and
538 translate them to protocol numbers.
540 RFCs 5665 and 5666 define the "rdma" and "rdma6" netids. IANA defines
541 a specific port number for NFS over RDMA (20049), but has not provided
542 a protocol name and number for RDMA transports, and is not expected
543 to. The best we can do is translate these by hand, as needed, to get
544 RDMA mount requests to the kernel without erroring out.
546 Only the forward translation is needed until such time that "rdma" and
547 "rdma6" start to appear in rpcbind registries. For now, the version
548 and transport negotiation logic is skipped, avoiding rpcbind queries
551 Note: As of kernel 2.6.36, the kernel's NFS over RDMA transport
552 capability does not support IPv6.
554 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
555 Signed-off-by: Steve Dickson <steved@redhat.com>
557 commit 57f36cd692c56b3b62705b5fafef4c25561a39ff
558 Author: Guillaume Rousse <Guillaume.Rousse@inria.fr>
559 Date: Thu Sep 9 10:33:47 2010 -0400
561 Clarification about options supported by different versions
563 Signed-off-by: Guillaume Rousse <Guillaume.Rousse@inria.fr>
564 Signed-off-by: Steve Dickson <steved@redhat.com>
566 commit b7df3370555877598d9f2ef49fae2ad4458e9f72
567 Author: Chuck Lever <chuck.lever@oracle.com>
568 Date: Thu Sep 9 10:27:17 2010 -0400
570 libexport.a: Refactor init_netmask()
572 Instead of a single function that can handle both AF_INET and AF_INET6
573 addresses, two separate functions might be cleaner.
575 The original plan was to keep code redundancy at a minimum, but the
576 resulting code was cumbersome at best. I think I've traded a little
577 extra code for something that will be much easier to read, understand,
580 I've also eliminated the "#if / #endif" instances inside the functions.
582 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
583 Signed-off-by: Steve Dickson <steved@redhat.com>
585 commit 60abb9889cea52022adf9c8bb946e9d19d79f9ed
586 Author: Chuck Lever <chuck.lever@oracle.com>
587 Date: Tue Aug 31 15:31:57 2010 -0400
589 libexport.a: IPv6 support in client_check()
591 Introduce support for IPv6 in client_check()'s helpers. The local
592 addrs_match() twins are no longer needed since we can use
593 nfs_compare_addrs() now.
595 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
596 Signed-off-by: Steve Dickson <steved@redhat.com>
598 commit 965b15b855c0c621462256b0ab687fc32644255a
599 Author: Chuck Lever <chuck.lever@oracle.com>
600 Date: Tue Aug 31 15:30:14 2010 -0400
602 libexport.a: IPv6 support for client_init_subnet()
604 To parse and store an IPv6 host or subnet address, init_netmask()
605 needs to handle 128 bit subnet masks.
607 Unfortunately what once was a pretty simple little function has grown
608 much larger. This logic must now not only parse IPv6 addresses
609 correctly, but must also distinguish between IPv4 and IPv6.
611 To avoid code duplication, I'm "bending" the cardinal rule of not
612 using "#ifdef" inside functions.
614 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
615 Signed-off-by: Steve Dickson <steved@redhat.com>
617 commit 2824097496f6b154befbf3b3d15dacf237b07f83
618 Author: Chuck Lever <chuck.lever@oracle.com>
619 Date: Tue Aug 31 15:29:02 2010 -0400
621 libexport.a: Prepare init_subnetwork() for IPv6 support
623 Retire the slash32 logic in inet_netmask() in favor of a more generic
624 netmask parser that can support IPv6 addresses.
626 If an invalid IP address string is given to inet_addr(3), it returns
627 INADDR_NONE, which is actually a "valid" address (255.255.255.255).
628 We're none the wiser to the substitution until something breaks later.
630 This patch provides better sanity checking of the parsed address, now
631 that such an error can be reported to client_init()'s callers.
632 We can also check the prefixlen value a little more carefully as well.
634 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
635 Signed-off-by: Steve Dickson <steved@redhat.com>
637 commit 03fc34b23c2bff48f54c2d889d7851a31fb64a3d
638 Author: Chuck Lever <chuck.lever@oracle.com>
639 Date: Tue Aug 31 15:27:19 2010 -0400
641 libexport.a: Use host helper to parse address in client_init()
643 Take the first step towards making it possible to parse either IPv4 or
644 IPv6 addresses in client_init(). It won't handle IPv6 until
645 host_pton() has IPv6 support enabled, and it still doesn't deal with
648 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
649 Signed-off-by: Steve Dickson <steved@redhat.com>
651 commit 502edf1df5e727cf88b19b634f60392652f35ddc
652 Author: Chuck Lever <chuck.lever@oracle.com>
653 Date: Tue Aug 31 15:25:35 2010 -0400
655 libexport.a: Prepare to recognize IPv6 addresses in client_gettype()
657 The current open-coded parsing logic in client_gettype() will be hard
658 to modify to recognize IPv6 addresses. Use a more generic mechanism
659 for detecting IP presentation addresses.
661 IPv6 will be enabled automatically in client_gettype() when host_pton()
662 is changed to support IPv6 addresses.
664 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
665 Signed-off-by: Steve Dickson <steved@redhat.com>
667 commit 26fd34002585e6a5aa09204b0b01d836fa83dcf3
668 Author: Chuck Lever <chuck.lever@oracle.com>
669 Date: Tue Aug 24 07:19:34 2010 -0400
671 exportfs: Use xlog() for error reporting
673 exportfs already invokes xlog_open() because libexport.a uses xlog()
674 exclusively for error reporting and debugging messages. If we can
675 use xlog() throughout exportfs itself, that enables xlog debugging
676 messages everywhere in the code path.
678 In addition, use xlog() instead of fprintf(stderr) for reporting
679 errors in exportfs.c, to be consistent with libexport.a and other
680 components of nfs-utils.
682 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
683 Signed-off-by: Steve Dickson <steved@redhat.com>
685 commit 6d7babe6afae068e8a1054f785785d374788f5ee
686 Author: Chuck Lever <chuck.lever@oracle.com>
687 Date: Tue Aug 24 07:18:04 2010 -0400
689 exportfs: exportfs.c no longer needs #include "xmalloc.h"
691 Clean up: No calls to xmalloc() or xstrdup() here. No need for the
692 double #include of xmalloc.h.
694 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
695 Signed-off-by: Steve Dickson <steved@redhat.com>
697 commit e22f5a9c8e53a2373e8a939771e964ad315cdc5f
698 Author: Chuck Lever <chuck.lever@oracle.com>
699 Date: Tue Aug 24 07:16:10 2010 -0400
701 statd: statd fails to monitor if no reverse mapping of mon_name exists
703 Commit 8ce130c4 switched in the new statd_canonical_name() function
704 that constructs a "unique" name statd can use to uniquely identify a
707 The legacy statd would monitor a client that sent an IP address with
708 no reverse map as its caller_name. To remain bug-for-bug compatible,
709 allow this case in the new statd.
711 This shouldn't be a problem: statd_canonical_name() needs to create
712 a unique name for the monitored host so it can keep track of monitor
713 requests from the same remote. The IP address itself should work as
714 well as the host's canonical name, in case there is no reverse
717 We still enforce the requirement that a mon_name that is a DNS name
718 must have a forward map to an IP address.
720 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
721 Signed-off-by: Steve Dickson <steved@redhat.com>
723 commit 1bb84a09ff58d1314826945db2f3f1f63015e263
724 Author: Chuck Lever <chuck.lever@oracle.com>
725 Date: Tue Aug 24 07:13:54 2010 -0400
727 libexport: Fix IP address check in check_netgroup()
729 Neil Brown reports that recent changes to replace
730 gethostby{addr,name}(3) with get{addr,info}name(3) may have
731 inadvertently broken netgroup support.
733 There used to be a gethostbyaddr(3) call in the third paragraph in
734 check_netgroup(). The reason for that gethostbyaddr(3) call was that
735 the first innetgr(3) call has already confirmed that hname is not a
736 member of the netgroup. We also need to confirm that, if hname
737 happens to be an IP address, the hostname bound to that IP address is
738 not a member of the netgroup, either.
740 Fix this by restoring appropriate address to hostname mapping of hname
741 before retrying the innetgr(3) call.
743 See http://marc.info/?l=linux-nfs&m=128084830214653&w=2 .
745 Introduced by commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84.
747 Reviewed-by: Neil Brown <neilb@suse.de>
748 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
749 Signed-off-by: Steve Dickson <steved@redhat.com>
751 commit abdc32b6af6f38a741a481aeefb5623916152498
752 Author: Chuck Lever <chuck.lever@oracle.com>
753 Date: Tue Aug 24 07:06:14 2010 -0400
755 bexport: Add a common exit label to check_netgroup()
757 check_netgroup() is going to be changed to free dynamically
758 allocated resources before it returns, so a common
759 exit point is needed.
761 Reviewed-by: Neil Brown <neilb@suse.de>
762 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
763 Signed-off-by: Steve Dickson <steved@redhat.com>
765 commit 396aac50f5addea2f4d62c25600ca68788a56d97
766 Author: Guillaume Rousse <Guillaume.Rousse@inria.fr>
767 Date: Tue Aug 17 17:47:38 2010 -0400
769 Fix the description of nfsversion mount option in the man nfs page
771 Signed-off-by: Steve Dickson <steved@redhat.com>
773 commit e2003650c68cf47806fb24f7d88fae5524b70aab
774 Author: Steve Dickson <steved@redhat.com>
775 Date: Mon Jul 19 12:12:52 2010 -0400
777 Remove warnings from nfsctl.c
779 nfsctl.c: In function 'expsetup':
780 nfsctl.c:112: warning: signed and unsigned type in conditional expression
782 Signed-off-by: Steve Dickson <steved@redhat.com>
784 commit 1e472b3476cc6d7b95573b7d630d0fc51bebadf3
785 Author: Steve Dickson <steved@redhat.com>
786 Date: Wed Aug 4 10:48:17 2010 -0400
788 Removed warnings from mountd.c
790 mountd.c: In function 'mount_null_1_svc':
791 mountd.c:195: warning: unused parameter 'rqstp'
792 mountd.c:195: warning: unused parameter 'argp'
793 mountd.c:195: warning: unused parameter 'resp'
794 mountd.c: In function 'mount_dump_1_svc':
795 mountd.c:213: warning: unused parameter 'argp'
796 mountd.c: In function 'mount_umnt_1_svc':
797 mountd.c:224: warning: unused parameter 'resp'
798 mountd.c: In function 'mount_umntall_1_svc':
799 mountd.c:248: warning: unused parameter 'argp'
800 mountd.c:248: warning: unused parameter 'resp'
801 mountd.c: In function 'mount_export_1_svc':
802 mountd.c:258: warning: unused parameter 'argp'
803 mountd.c: In function 'mount_exportall_1_svc':
804 mountd.c:269: warning: unused parameter 'argp'
805 mountd.c: In function 'mount_dump_1_svc':
806 mountd.c:216: warning: unused parameter 'argp'
807 mountd.c: In function 'mount_umnt_1_svc':
808 mountd.c:227: warning: unused parameter 'resp'
809 mountd.c: In function 'mount_umntall_1_svc':
810 mountd.c:251: warning: unused parameter 'argp'
811 mountd.c:251: warning: unused parameter 'resp'
812 mountd.c: In function 'mount_export_1_svc':
813 mountd.c:261: warning: unused parameter 'argp'
814 mountd.c: In function 'mount_exportall_1_svc':
815 mountd.c:272: warning: unused parameter 'argp'
817 Signed-off-by: Steve Dickson <steved@redhat.com>
819 commit 14e6ec262e58e962c2d7e9161ca9c56529de3170
820 Author: Steve Dickson <steved@redhat.com>
821 Date: Wed Aug 4 10:41:18 2010 -0400
823 Removed warnings from idmapd.c
825 idmapd.c:120: warning: missing initializer
826 idmapd.c:120: warning: (near initialization for 'nfsd_ic[0].ic_event')
827 idmapd.c:121: warning: missing initializer
828 idmapd.c:121: warning: (near initialization for 'nfsd_ic[1].ic_event')
829 idmapd.c: In function 'flush_nfsd_cache':
830 idmapd.c:173: warning: comparison between signed and unsigned integer expressions
831 idmapd.c: In function 'dirscancb':
832 idmapd.c:384: warning: unused parameter 'fd'
833 idmapd.c:384: warning: unused parameter 'which'
834 idmapd.c: In function 'svrreopen':
835 idmapd.c:468: warning: unused parameter 'fd'
836 idmapd.c:468: warning: unused parameter 'which'
837 idmapd.c:468: warning: unused parameter 'data'
838 idmapd.c: In function 'clntscancb':
839 idmapd.c:474: warning: unused parameter 'fd'
840 idmapd.c:474: warning: unused parameter 'which'
841 idmapd.c: In function 'nfsdcb':
842 idmapd.c:488: warning: unused parameter 'fd'
843 idmapd.c: In function 'nfscb':
844 idmapd.c:663: warning: unused parameter 'fd'
845 idmapd.c: In function 'validateascii':
846 idmapd.c:850: warning: comparison between signed and unsigned integer expressions
847 idmapd.c:858: warning: comparison between signed and unsigned integer expressions
848 idmapd.c: In function 'getfield':
849 idmapd.c:916: warning: comparison between signed and unsigned integer expressions
851 Signed-off-by: Steve Dickson <steved@redhat.com>
853 commit 2ccfd2d5f390bcac7a44f8887cd3f15df1966e0f
854 Author: Steve Dickson <steved@redhat.com>
855 Date: Wed Aug 4 10:29:28 2010 -0400
857 Removed warnings from configfile.c
859 configfile.c:195: warning: 'inline' is not at beginning of declaration
860 configfile.c:232: warning: 'inline' is not at beginning of declaration
862 Signed-off-by: Steve Dickson <steved@redhat.com>
864 commit bc8fdd5ebcabe57cacd382673ca9e4a79ff7b18e
865 Author: Steve Dickson <steved@redhat.com>
866 Date: Wed Aug 4 10:26:13 2010 -0400
868 Removed warnings from svcgssd_proc.c
870 svcgssd_proc.c: In function 'send_response':
871 svcgssd_proc.c:135: warning: unused parameter 'f'
872 svcgssd_proc.c: In function 'handle_nullreq':
873 svcgssd_proc.c:434: warning: comparison of unsigned expression < 0 is always false
875 Signed-off-by: Steve Dickson <steved@redhat.com>
877 commit be5b2ed57b0e0a3da91f4ec785718302d0351199
878 Author: Steve Dickson <steved@redhat.com>
879 Date: Wed Aug 4 10:22:13 2010 -0400
881 Removed warnings from network.c
883 network.c: In function 'nfs_verify_family':
884 network.c:1366: warning: unused parameter 'family'
886 Signed-off-by: Steve Dickson <steved@redhat.com>
888 commit 6b8d7c05fe738a4c7295754b4be552c703024f58
889 Author: Steve Dickson <steved@redhat.com>
890 Date: Tue Jul 20 18:43:46 2010 -0400
892 Removed warnings from nfs4mount.c
894 nfs4mount.c: In function 'fill_ipv4_sockaddr':
895 nfs4mount.c:149: warning: comparison between signed and unsigned integer expressions
897 Signed-off-by: Steve Dickson <steved@redhat.com>
899 commit cf2fd4869fdb77741bca9e3f713af49b889661b3
900 Author: Steve Dickson <steved@redhat.com>
901 Date: Tue Jul 20 18:40:31 2010 -0400
903 Removed warnings from nfsmount.c
905 nfsmount.c: In function 'nfsmount':
906 nfsmount.c:513: warning: missing initializer
907 nfsmount.c:513: warning: (near initialization for 'mnt_server.saddr')
908 nfsmount.c:514: warning: missing initializer
909 nfsmount.c:514: warning: (near initialization for 'nfs_server.saddr')
911 Signed-off-by: Steve Dickson <steved@redhat.com>
913 commit 45a73911fff657942ec67317d000badb8e2c5282
914 Author: Steve Dickson <steved@redhat.com>
915 Date: Tue Jul 20 18:22:32 2010 -0400
917 Removed warnings from svcgssd.c
919 svcgssd.c: In function 'sig_hup':
920 svcgssd.c:160: warning: unused parameter 'signal'
922 Signed-off-by: Steve Dickson <steved@redhat.com>
924 commit b8ba21cedc6aac3b2847217caf55885bb1a74805
925 Author: Steve Dickson <steved@redhat.com>
926 Date: Tue Jul 20 18:13:45 2010 -0400
928 Removed warnings from gssd_proc.c
930 gssd_proc.c: In function 'create_auth_rpc_client':
931 gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions
932 gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions
933 gssd_proc.c: In function 'handle_krb5_upcall':
934 gssd_proc.c:1164: warning: comparison between signed and unsigned integer expressions
935 gssd_proc.c: In function 'handle_spkm3_upcall':
936 gssd_proc.c:1178: warning: comparison between signed and unsigned integer expressions
938 Signed-off-by: Steve Dickson <steved@redhat.com>
940 commit f4321ac3466aa9d4c4e11ba232f1ff9bea561288
941 Author: Steve Dickson <steved@redhat.com>
942 Date: Tue Jul 20 18:08:13 2010 -0400
944 Removed warnings from krb5_util.c
946 krb5_util.c: In function 'realm_and_service_match':
947 krb5_util.c:617: warning: unused parameter 'context'
948 krb5_util.c: In function 'limit_krb5_enctypes':
949 krb5_util.c:1275: warning: unused parameter 'uid'
951 Signed-off-by: Steve Dickson <steved@redhat.com>
953 commit f89b109c04a8eab81bfa8b8fcdc7692673e13e49
954 Author: Steve Dickson <steved@redhat.com>
955 Date: Tue Jul 20 17:53:47 2010 -0400
957 Removed warnings from gssd_main_loop.c
959 gssd_main_loop.c: In function 'dir_notify_handler':
960 gssd_main_loop.c:64: warning: unused parameter 'sig'
961 gssd_main_loop.c:64: warning: unused parameter 'si'
962 gssd_main_loop.c:64: warning: unused parameter 'data'
964 Signed-off-by: Steve Dickson <steved@redhat.com>
966 commit d2c329ba4b7ccdea76bcc857a73206eab68428f8
967 Author: Steve Dickson <steved@redhat.com>
968 Date: Tue Jul 20 17:45:17 2010 -0400
970 Removed warnings from gssd.c
972 gssd.c: In function 'sig_hup':
973 gssd.c:78: warning: unused parameter 'signal'
975 Signed-off-by: Steve Dickson <steved@redhat.com>
977 commit 8a72ac3280ce8f9d0f48383d47dd06c80567bc09
978 Author: Steve Dickson <steved@redhat.com>
979 Date: Tue Jul 20 17:19:20 2010 -0400
981 Removed warnings from atomicio.c
983 atomicio.c: In function 'atomicio':
984 atomicio.c:48: warning: comparison between signed and unsigned integer expressions
986 Signed-off-by: Steve Dickson <steved@redhat.com>
988 commit 14becdb7bc23f075f786325f7e953c2f928fe385
989 Author: Steve Dickson <steved@redhat.com>
990 Date: Mon Jul 19 14:54:51 2010 -0400
992 Removed warnings from nfsstat.c
994 nfsstat.c: In function 'print_callstats':
995 nfsstat.c:797: warning: comparison between signed and unsigned integer
997 nfsstat.c:801: warning: comparison between signed and unsigned integer
999 nfsstat.c:802: warning: comparison between signed and unsigned integer
1001 nfsstat.c:805: warning: comparison between signed and unsigned integer
1004 nfsstat.c: In function 'print_callstats_list':
1005 nfsstat.c:821: warning: comparison between signed and unsigned integer
1007 nfsstat.c:828: warning: comparison between signed and unsigned integer
1010 nfsstat.c: In function 'unpause':
1011 nfsstat.c:1111: warning: unused parameter 'sig'
1012 Signed-off-by: Steve Dickson <steved@redhat.com>
1014 commit b594ee2b2a1b9c0c5823a7af279488f113f91be4
1015 Author: Steve Dickson <steved@redhat.com>
1016 Date: Mon Jul 19 14:48:37 2010 -0400
1018 Removed warnings from nfssvc.c
1020 nfssvc.c:184: warning: comparison between signed and unsigned integer expressions
1021 nfssvc.c: In function 'nfssvc_setvers':
1022 nfssvc.c:254: warning: comparison between signed and unsigned integer expressions
1023 nfssvc.c: In function 'nfssvc_threads':
1024 nfssvc.c:280: warning: comparison between signed and unsigned integer expressions
1026 Signed-off-by: Steve Dickson <steved@redhat.com>
1028 commit 7b331fb9d24a71242a6c0a45a06c49174b552c64
1029 Author: Steve Dickson <steved@redhat.com>
1030 Date: Mon Jul 19 14:43:26 2010 -0400
1032 Removed warnings from cache.c
1034 cache.c:812: warning: missing initializer
1035 cache.c:812: warning: (near initialization for 'cachelist[0].f')
1036 cache.c:813: warning: missing initializer
1037 cache.c:813: warning: (near initialization for 'cachelist[1].f')
1038 cache.c:814: warning: missing initializer
1039 cache.c:814: warning: (near initialization for 'cachelist[2].f')
1040 cache.c:815: warning: missing initializer
1041 cache.c:815: warning: (near initialization for 'cachelist[3].f')
1042 cache.c:816: warning: missing initializer
1043 cache.c:816: warning: (near initialization for 'cachelist[4].f')
1044 cache.c: In function 'cache_export_ent':
1045 cache.c:887: warning: comparison between signed and unsigned integer expressions
1046 cache.c:907: warning: comparison between signed and unsigned integer expressions
1048 Signed-off-by: Steve Dickson <steved@redhat.com>
1050 commit 9d5eaa2e939723c47649f0f112b43cc8ff414740
1051 Author: Steve Dickson <steved@redhat.com>
1052 Date: Mon Jul 19 13:07:00 2010 -0400
1054 Removed warnings from fsloc.c
1056 fsloc.c: In function 'replicas_lookup':
1057 fsloc.c:149: warning: unused parameter 'key'
1059 Signed-off-by: Steve Dickson <steved@redhat.com>
1061 commit e10000740fc4c323dbc8d501d7c0caeae12c19b5
1062 Author: Steve Dickson <steved@redhat.com>
1063 Date: Mon Jul 19 12:39:52 2010 -0400
1065 Removed warnings from conffile.c
1067 conffile.c: In function 'conf_parse_line':
1068 conffile.c:301: warning: comparison between signed and unsigned integer expressions
1070 conffile.c: In function 'conf_load_defaults':
1071 conffile.c:356: warning: unused parameter 'tr'
1073 Signed-off-by: Steve Dickson <steved@redhat.com>
1075 commit 8810c9dd5b66a097a235e6eabd399739a44df63e
1076 Author: Steve Dickson <steved@redhat.com>
1077 Date: Mon Jul 19 12:34:14 2010 -0400
1079 Remove warnings from nfs_mntent.c
1081 nfs_mntent.c: In function 'mangle':
1082 nfs_mntent.c:36: warning: comparison between signed and unsigned integer expressions
1084 Signed-off-by: Steve Dickson <steved@redhat.com>
1086 commit 1ca569633e14c844e32d8e5e3a1c54be01a8b633
1087 Author: Steve Dickson <steved@redhat.com>
1088 Date: Mon Jul 19 12:31:48 2010 -0400
1090 emove warnings from cacheio.c
1092 cacheio.c: In function 'cache_flush':
1093 cacheio.c:352: warning: comparison between signed and unsigned integer expressions
1095 Signed-off-by: Steve Dickson <steved@redhat.com>
1097 commit 0cdfd35cecc17eb1927f15d33205e43ec66675f2
1098 Author: Steve Dickson <steved@redhat.com>
1099 Date: Mon Jul 19 12:28:09 2010 -0400
1101 Remove warnings from svc_socket.c
1103 svc_socket.c: In function 'svcudp_socket':
1104 svc_socket.c:160: warning: unused parameter 'reuse'
1106 Signed-off-by: Steve Dickson <steved@redhat.com>
1108 commit 9c99b4633b185452614eb6c5630a30b30626a838
1109 Author: Steve Dickson <steved@redhat.com>
1110 Date: Mon Jul 19 12:17:24 2010 -0400
1112 Removed warnings from rpcdispatch.c
1114 rpcdispatch.c: In function 'rpc_dispatch':
1115 rpcdispatch.c:30: warning: comparison between signed and unsigned
1117 rpcdispatch.c:35: warning: comparison between signed and unsigned
1120 Signed-off-by: Steve Dickson <steved@redhat.com>
1122 commit b6e0ddd7bb3843bb8bb5ff56816b31bcf17adacd
1123 Author: Steve Dickson <steved@redhat.com>
1124 Date: Mon Jul 19 12:05:51 2010 -0400
1126 Enable extra compile warnings (-Wextra) by default.
1128 Added -Wextra to the CFLAGS which enables more checking
1129 during compilation, which in turn, will hopefully flag
1130 potential problems before they occur.
1132 Signed-off-by: Steve Dickson <steved@redhat.com>
1134 commit 12af21aca517dfbaec465447d8336bcc4769f71d
1135 Author: Doug Nazar <nazard.michi@gmail.com>
1136 Date: Mon Jul 19 11:08:46 2010 -0400
1138 gssd: picking wrong creds
1140 When not using machine credentials for root, if the machine
1141 credential cache file is newer than the root credential file
1142 the wrong file will get picked. Ignore the machine file in
1145 Signed-off-by: Steve Dickson <steved@redhat.com>
1147 commit e2aa2c8c4cc21eb312a301855c2e211dedf93146
1148 Author: Doug Nazar <nazard.michi@gmail.com>
1149 Date: Mon Jul 19 10:58:47 2010 -0400
1151 mountd: Fix memcmp result comparison error for uuid match.
1153 Fixed Small typo in the new fs uuid comparison code
1155 Signed-off-by: Steve Dickson <steved@redhat.com>
1157 commit eafc5a8873b09482c71313f425080cce2031010a
1158 Author: Doug Nazar <nazard.michi@gmail.com>
1159 Date: Mon Jul 19 10:48:34 2010 -0400
1161 gssd: Fix endtime issue
1163 Commit 4c5ff6d4 removed the setting of endtime for a few contexts by
1166 Now to figure out why I get stale handles on submounts.
1168 Signed-off-by: Steve Dickson <steved@redhat.com>
1170 commit 0bd7e91cea26bcfc5581290e4cdd87870da29b9e
1171 Author: Chuck Lever <chuck.lever@oracle.com>
1172 Date: Mon Jul 19 10:09:12 2010 -0400
1174 nfs-utils: Fix C aliasing rules violation in nfs_getrpccaller()
1176 Squelch compiler warnings reported with -Wextra:
1178 In file included from statd.c:24:
1179 ../../support/include/rpcmisc.h: In function nfs_getrpccaller_in:
1180 ../../support/include/rpcmisc.h:58: warning: dereferencing type-punned
1181 pointer might break strict-aliasing rules
1182 ../../support/include/rpcmisc.h: In function nfs_getrpccaller:
1183 ../../support/include/rpcmisc.h:63: warning: dereferencing type-punned
1184 pointer might break strict-aliasing rules
1186 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1187 Signed-off-by: Steve Dickson <steved@redhat.com>
1189 commit a8715bec8bd671135f20fc0422d2a9fc0993758a
1190 Author: Kevin Constantine <kevin.constantine@disneyanimation.com>
1191 Date: Tue Jun 22 17:43:19 2010 -0400
1193 nfs-iostat.py: divide by zero with fresh mount
1195 When an export is freshly mounted, /proc/self/mountstats displays age = 0.
1196 This causes nfs-iostat.py to divide by zero throwing an error. When we
1197 have age = 0, other stats are greater than 0, so we'll set age = 1 and
1198 print the relevant stats.
1200 Signed-off-by: Kevin Constantine <kevin.constantine@disneyanimation.com>
1201 Signed-off-by: Steve Dickson <steved@redhat.com>
1203 commit 9c3f7a220b4812c5d560db5fcacad790fc8b17af
1204 Author: Chuck Lever <chuck.lever@oracle.com>
1205 Date: Tue Jun 22 13:31:38 2010 -0400
1207 libexport.a: Remove unused hostent-based DNS helper functions
1209 Clean up: Get rid of hostent-based DNS helper functions in
1210 libexport.a that have been replaced by addrinfo-based DNS helpers.
1212 None of the original code remains, so replace the copyright notice as
1215 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1216 Signed-off-by: Steve Dickson <steved@redhat.com>
1218 commit 21015ace7d0a356b24a57540ccfeb41d941e78ed
1219 Author: Chuck Lever <chuck.lever@oracle.com>
1220 Date: Tue Jun 22 13:06:40 2010 -0400
1222 libexport.a: Replace matchhostname()
1224 So that exportfs can eventually support IPv6 addresses, copy statd's
1225 getaddrinfo(3)-based matchhostname to exportfs, with adjustments for
1226 dealing with export wildcards and netgroups. Until exportfs has full
1227 IPv6 support, however, we want to ensure that IPv6 addresses continue
1228 to remain blocked in the address comparison code used by exportfs. At
1229 a later point we'll replace much of this with the generic functions
1232 Since it contains special logic for handling wildcard and netgroups,
1233 this function is specialized for exportfs, and does not belong in
1234 one of the shared libraries.
1236 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1237 Signed-off-by: Steve Dickson <steved@redhat.com>
1239 commit 22d6566d473f71e241c791a02435d414648c99e8
1240 Author: Chuck Lever <chuck.lever@oracle.com>
1241 Date: Tue Jun 22 12:51:42 2010 -0400
1243 libexport.a: Add documenting comments
1245 Clean up. Add a few additional documenting comments for globally
1248 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1249 Signed-off-by: Steve Dickson <steved@redhat.com>
1251 commit 53928c0166dcc0acceaa995edb8551b48968b5dd
1252 Author: Chuck Lever <chuck.lever@oracle.com>
1253 Date: Tue Jun 22 12:44:44 2010 -0400
1255 libexport.a: Make export_add() static
1257 Clean up: export_add() is not called from outside of export.c, so make
1260 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1261 Signed-off-by: Steve Dickson <steved@redhat.com>
1263 commit 8940675a20967145b37a596334c25a54804435cc
1264 Author: Chuck Lever <chuck.lever@oracle.com>
1265 Date: Tue Jun 22 12:43:55 2010 -0400
1267 libexport.a: Make export_read() return void
1269 Clean up: export_read()'s return value is always zero, and its only
1270 caller never checks it.
1272 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1273 Signed-off-by: Steve Dickson <steved@redhat.com>
1275 commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84
1276 Author: Chuck Lever <chuck.lever@oracle.com>
1277 Date: Tue Jun 22 12:43:01 2010 -0400
1279 mountd: Replace "struct hostent" with "struct addrinfo"
1281 struct hostent can store either IPv4 or IPv6 addresses, but it can't
1282 store both address families concurrently for the same host. Neither
1283 can hostent deal with parts of socket addresses that are outside of
1284 the sin{,6}_addr field.
1286 Replace the use of "struct hostent" everywhere in libexport.a, mountd,
1287 and exportfs with "struct addrinfo". This is a large change, but
1288 there are so many strong dependencies on struct hostent that this
1289 can't easily be broken into smaller pieces.
1291 One benefit of this change is that hostent_dup() is no longer
1292 required, since the results of getaddrinfo(3) are already dynamically
1295 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1296 Signed-off-by: Steve Dickson <steved@redhat.com>
1298 commit 3ca5879be32c4c11750e12230ff588195fff0738
1299 Author: Chuck Lever <chuck.lever@oracle.com>
1300 Date: Tue Jun 22 12:40:27 2010 -0400
1302 exportfs: Add a common exit label in exportfs()
1304 Clean up: Reduce code duplication by introducing a goto label for
1305 freeing hp and exiting. This will make replacing "struct hostent *"
1306 with "struct addrinfo *" more straightforward in this code.
1308 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1309 Signed-off-by: Steve Dickson <steved@redhat.com>
1311 commit 94ce1eb94babb4c587b2826452fb053cba745098
1312 Author: Chuck Lever <chuck.lever@oracle.com>
1313 Date: Tue Jun 22 10:41:03 2010 -0400
1315 libexport.a: Add helpers to manage DNS lookups
1317 Introduce DNS query helpers based on getaddrinfo(3) and
1318 getnameinfo(3). These will eventually replace the existing
1319 hostent-based functions in support/export/hostname.c.
1321 Put some of these new helpers to immediate use, where convenient.
1323 As they are part of libexport.a, I've added the forward declarations
1324 for these new functions in exportfs.h rather than misc.h, where the
1325 hostent-based forward declarations are currently.
1327 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1328 Signed-off-by: Steve Dickson <steved@redhat.com>
1330 commit 8d61f2518bebe11c5fd0624857f83de1dceca991
1331 Author: NeilBrown <neilb@suse.de>
1332 Date: Tue Jun 22 10:37:25 2010 -0400
1334 Improve support for exporting btrfs subvolumes
1336 If you export two subvolumes of a btrfs filesystem, they will both be
1337 given the same uuid so lookups will be confused.
1338 blkid cannot differentiate the two, so we must use the fsid from
1339 statfs64 to identify the filesystem.
1341 We cannot tell if blkid or statfs is best without knowing internal
1342 details of the filesystem in question, so we need to encode specific
1343 knowledge of btrfs in mountd. This is unfortunate.
1345 To ensure smooth handling of this and possible future changes in uuid
1346 generation, we add infrastructure for multiple different uuids to be
1347 recognised on old filehandles, but only the preferred on is used on
1350 Signed-off-by: NeilBrown <neilb@suse.de>
1351 Signed-off-by: Steve Dickson <steved@redhat.com>
1353 commit 9ac7a15017b876d4d8d3a4502ebaf954f36f7f54
1354 Author: Steve Dickson <steved@redhat.com>
1355 Date: Thu Jun 3 08:53:22 2010 -0400
1357 mount.nfs: silently fails when the network protocol is not found
1359 mount.nfs should display some type of error diagnostics when
1360 the network protocol can not be determined.
1362 Signed-off-by: Steve Dickson <steved@redhat.com>
1364 commit 740171dea45a57e396a86fbda1579a465f101854
1365 Author: Steve Dickson <steved@redhat.com>
1366 Date: Thu Jun 3 08:32:56 2010 -0400
1368 mount: silently fails when bad option values are given
1370 mount.nfs should not only fail when an invalid option values
1371 are supplied (as it does), it should also print a diagnostic
1372 message identifying the problem
1374 Signed-off-by: Steve Dickson <steved@redhat.com>
1376 commit 94c3d7c91de582cf29ff9100950ecd4a5fd1606b
1377 Author: Kevin Constantine <kevin.constantine@disneyanimation.com>
1378 Date: Wed Jun 2 08:34:14 2010 -0400
1380 nfsiostat.man: Add linebreak before --version option
1382 The nfsiostat man file was missing a linebreak before the --verbose option
1384 Signed-off-by: Kevin Constantine <kevin.constantine@disneyanimation.com>
1385 Signed-off-by: Steve Dickson <steved@redhat.com>
1387 commit 291b329ad1f5a65270097f4ec3a8dd465df42669
1388 Author: Chuck Lever <chuck.lever@oracle.com>
1389 Date: Mon May 24 06:02:22 2010 -0400
1391 mountd: Convert colons in IPv6 presentation addresses tosemicolons
1393 The /var/lib/nfs/rmtab file delineates fields in each of its lines
1394 with a ":". The first field contains the IP address of a client, in
1395 presentation format. IPv6 presentation format addresses contain
1396 colons, which screws up the field delineation of rmtab.
1398 Use a simple simple scheme to convert the colons in incoming client
1399 names to some other character, and then convert them back when the
1402 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1403 Signed-off-by: Steve Dickson <steved@redhat.com>
1405 commit 9e398e49be79af62fca8efb21849d8a2714dc92a
1406 Author: Chuck Lever <chuck.lever@oracle.com>
1407 Date: Mon May 24 06:01:22 2010 -0400
1409 libexport.a: Refactor rmtab_read()
1411 Clean up: Make it easier to add IPv6 support by refactoring part of
1412 rmtab_read() into a helper function.
1414 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1415 Signed-off-by: Steve Dickson <steved@redhat.com>
1417 commit 2fd2dfd9ebb2de145d50039233bd2a53b7f03062
1418 Author: NeilBrown <neilb@suse.de>
1419 Date: Mon May 24 05:55:26 2010 -0400
1421 Mountd listens on 2 different versions for NFSv2 (MOUNTv1 and MOUNTv2)
1422 and one for NFSv3 (MOUNTv3)
1424 When --no-nfs-version requests an NFS version to be disabled, the
1425 code actually disabled the MOUNT version. This works is several cases,
1426 but requires --no-nfs-version 1 to completely disable NFSv2, which
1429 So if we do disable 1, 2, and 3. mountd complain and won't run, it
1430 is not possible to run just v4 - i.e. not listening for MOUNT requests
1431 at all (as v4 doesn't need them).
1433 So change the handling of "--no-nfs-version 2" it disable MOUNTv1 as
1435 MOUNTv2, and allow mountd to continue running as long as one of
1436 NFSv2 NFSv3 NFSv4 is enabled.
1438 Signed-off-by: NeilBrown <neilb@suse.de>
1439 Signed-off-by: Steve Dickson <steved@redhat.com>
1441 commit 6299a310d77e6495efdf7c50491f0b055fee2cfe
1442 Author: Chuck Lever <chuck.lever@oracle.com>
1443 Date: Wed May 5 15:41:07 2010 -0400
1445 mountd/exportfs: Make m_addrlist field a nfs_sockaddr
1447 To store non-AF_INET addresses in the nfs_client structure, we need to
1448 use more than in_addr for the m_addrlist field. Make m_addrlist
1449 larger, then add a few helper functions to handle type casting and
1450 array indexing cleanly.
1452 We could treat the nfs_client address list as if all the addresses
1453 in the list were the same family. This might work for MCL_SUBNETWORK
1454 type nfs_clients. However, during the transition to IPv6, most hosts
1455 will have at least one IPv4 and one IPv6 address. For MCL_FQDN, I
1456 think we need to have the ability to store addresses from both
1457 families in one nfs_client.
1459 Additionally, IPv6 scope IDs are not part of struct sin6_addr. To
1460 support link-local IPv6 addresses and the like, a scope ID must be
1463 Thus, each slot in the address list needs to be capable of storing an
1464 entire socket address, and not simply the network address part.
1466 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1467 Signed-off-by: Steve Dickson <steved@redhat.com>
1469 commit 6ff1fd42db18c657fbc5f81169a566b41d53e731
1470 Author: Chuck Lever <chuck.lever@oracle.com>
1471 Date: Wed May 5 14:42:01 2010 -0400
1473 libexport.a: Clean up client_add()
1475 Clean up: client_add()'s current callers never set unknown m_type
1476 values, so the m_type check is unnecessary.
1478 All of client_add()'s callers are in the same source file where it is
1479 defined, so make it a static helper function.
1481 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1482 Signed-off-by: Steve Dickson <steved@redhat.com>
1484 commit 9bb85c5e8d2285f82367c75df5530a71a9a5a5f2
1485 Author: Chuck Lever <chuck.lever@oracle.com>
1486 Date: Wed May 5 14:37:13 2010 -0400
1488 libexport.a: Refactor client_init()
1490 Clean up: Move subnet hostname parsing logic out of client_init() to
1491 make it simpler to introduce IPv6 support.
1493 Make client_init() a helper, since it's already static.
1495 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1496 Signed-off-by: Steve Dickson <steved@redhat.com>
1498 commit 0a8bd742cc1412e2553f152ee0c3aab8c5570212
1499 Author: Mike Frysinger <vapier@gentoo.org>
1500 Date: Fri Apr 23 12:22:53 2010 -0400
1502 Make capabilities support optional
1504 The new code using libcap is quite minor, so rather than always reqiure
1505 libcap support, make it a normal --enable type flag. Current default
1506 behavior is retained -- if libcap is found, it is enabled, else it is
1507 disabled like every nfs-utils version in the past.
1509 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
1510 Signed-off-by: Steve Dickson <steved@redhat.com>
1512 commit fbc038b7a5c7f5f102bf2c4fb149030d0092eec8
1513 Author: Mike Frysinger <vapier@gentoo.org>
1514 Date: Fri Apr 23 12:18:27 2010 -0400
1516 set +x on autogen.sh
1518 Signed-off-by: Steve Dickson <steved@redhat.com>
1520 commit 08e1512e4a932f41867f0b515348b9402db50cbd
1521 Author: Chuck Lever <chuck.lever@oracle.com>
1522 Date: Fri Apr 23 12:09:35 2010 -0400
1524 libexport.a: Allow malloc(3) failures in client_lookup() and friends
1526 Clean up: Use malloc(3) instead of xmalloc() in client_lookup() and
1527 client_dup(), ensuring that a failed memory allocation here doesn't
1528 cause our process to exit suddenly.
1530 Allocation of nfs_client records and the m_hostname string are now
1531 consistently handled with malloc(3), calloc(3), strdup(3), and
1534 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1535 Signed-off-by: Steve Dickson <steved@redhat.com>
1537 commit aa4b66b12b631885ed85f3ebe97e68b033407178
1538 Author: Chuck Lever <chuck.lever@oracle.com>
1539 Date: Fri Apr 23 12:08:49 2010 -0400
1541 libexport.a: Allow m_hostname allocation to fail instead of exit
1543 Clean up: Replace xstrdup() with strdup(3) in client_init(), to
1544 prevent the process from exiting if the memory allocation fails.
1546 Note that both of client_init()'s callers set m_hostname equal to NULL
1547 before calling, thus the extra free(3) at the top of client_init() is
1550 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1551 Signed-off-by: Steve Dickson <steved@redhat.com>
1553 commit 5d954d871fb265af584faef5df6e2e7e6ada7c3b
1554 Author: Chuck Lever <chuck.lever@oracle.com>
1555 Date: Fri Apr 23 12:02:34 2010 -0400
1557 libexport.a: Allow client_init() to fail instead of exit
1559 client_init()'s current callers can now deal correctly with a failure.
1560 Get rid of code that can cause our process to exit in client_init(),
1561 if address mask parsing or memory allocation fails.
1563 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1564 Signed-off-by: Steve Dickson <steved@redhat.com>
1566 commit 75cbc8d3fc9e7c3750629bd72519770ab58b868f
1567 Author: Chuck Lever <chuck.lever@oracle.com>
1568 Date: Fri Apr 23 12:00:28 2010 -0400
1570 libexport.a: Add client_free()
1572 Clean up: Introduce a helper to free a nfs_client record.
1574 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1575 Signed-off-by: Steve Dickson <steved@redhat.com>
1577 commit 7fc6f6c6b68ba7fa1be6de05ce3b9e2d97b82ea4
1578 Author: Steve Dickson <steved@redhat.com>
1579 Date: Fri Apr 16 10:56:29 2010 -0400
1581 Add in autoconf support for mountstats and nfsiostats
1583 Signed-off-by: Steve Dickson <steved@redhat.com>
1585 commit d8ff9ef2828059bb2ee115d22f3c9579421daf54
1586 Author: Steve Dickson <steved@redhat.com>
1587 Date: Fri Apr 16 10:49:10 2010 -0400
1589 Introduce man page for the nfsiostats command
1591 Signed-off-by: Steve Dickson <steved@redhat.com>
1593 commit c03fe46d62bc78cb52d400fa5a52dc4ce9947945
1594 Author: Steve Dickson <steved@redhat.com>
1595 Date: Fri Apr 16 10:46:41 2010 -0400
1597 Introduce man page for the mountstats command
1599 Signed-off-by: Steve Dickson <steved@redhat.com>
1601 commit c4b2281c6c748b768de7a49af89660c9c1a68b11
1602 Author: Steve Dickson <steved@redhat.com>
1603 Date: Fri Apr 16 13:31:57 2010 -0400
1605 Removed some miscellaneous warnings in the new gssd code.
1607 Signed-off-by: Steve Dickson <steved@redhat.com>
1609 commit 4c5ff6d48021731128c4fc13d51610645a6fcf5c
1610 Author: Kevin Coffman <kwc@citi.umich.edu>
1611 Date: Mon Apr 12 17:13:25 2010 -0400
1613 Add support for non-DES encryption types.
1615 Sends a new format of context information to the kernel.
1616 (Requires kernel support to do anything useful.)
1618 Signed-off-by: Steve Dickson <steved@redhat.com>
1620 commit 76be349d5dd07f55797cb9920cc275667258f10f
1621 Author: Kevin Coffman <kwc@citi.umich.edu>
1622 Date: Thu Apr 15 08:32:20 2010 -0400
1624 Try to use kernel function to determine supported Kerberos enctypes.
1626 This patch replaces a hard-coded list with a function to obtain
1627 the Kerberos encryption types that the kernel's rpcsec_gss code
1628 can support. Defaults to old behavior if kernel does not supply
1631 Signed-off-by: Steve Dickson <steved@redhat.com>
1633 commit 48d13033dcb27eb3d9ea78c39692ff7c54095950
1634 Author: Kevin Coffman <kwc@citi.umich.edu>
1635 Date: Mon Apr 12 17:06:30 2010 -0400
1637 gssd: move function limit_krb5_enctypes into the exported functions area
1639 cleanup: Move function limit_krb5_enctypes() from the section
1640 containing static functions into the section containing
1641 externally visible functions.
1643 Signed-off-by: Steve Dickson <steved@redhat.com>
1645 commit 470448e77bd673b206cf40820f966dcb8f029f27
1646 Author: Chuck Lever <chuck.lever@oracle.com>
1647 Date: Fri Apr 16 13:03:20 2010 -0400
1649 libexport.a: export_find() should handle address parsing errors
1651 An address mask parsing error can cause client_init(), and therefore
1652 client_dup(), to make our process exit suddenly. Soon we want to add
1653 more complex address parsing in client_init(), so we need this
1654 interface to be a little more robust.
1656 Since export_find() can return NULL in some cases, it can handle NULL
1657 returns from its subroutines if an address parsing error occurs, or if
1658 memory is exhausted. Allow for client_dup() to return NULL instead of
1661 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1662 Signed-off-by: Steve Dickson <steved@redhat.com>
1664 commit 9b7cc679c70d00af3f44dc6a8b44a360a2423d64
1665 Author: Chuck Lever <chuck.lever@oracle.com>
1666 Date: Fri Apr 16 13:02:15 2010 -0400
1668 libexport.a: Add export_free()
1670 Clean up: Introduce a helper to free an nfs_export record.
1672 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1673 Signed-off-by: Steve Dickson <steved@redhat.com>
1675 commit 30eff9c26141746fb26efb1af60d5cbe7a16ebae
1676 Author: Chuck Lever <chuck.lever@oracle.com>
1677 Date: Thu Apr 15 08:59:18 2010 -0400
1679 libexport.a: Add helper for populating m_addrlist[]
1681 Clean up: Move common code that populates an nfs_client record's
1682 m_addrlist to a helper function. This eliminates a little code
1683 duplication, and makes it simpler to add IPv6 support later.
1685 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1686 Signed-off-by: Steve Dickson <steved@redhat.com>
1688 commit e1c93f691348392ee36b763bf57946540891ff16
1689 Author: Chuck Lever <chuck.lever@oracle.com>
1690 Date: Thu Apr 15 08:57:29 2010 -0400
1692 libexport.a: Reduce code duplication in client_init()
1694 Clean up: Most cases in client_init() set clp->m_naddr to zero. Move
1695 it to the common part of the function, and simplify the logic. This
1696 will make adding IPv6 support here more straightforward.
1698 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1699 Signed-off-by: Steve Dickson <steved@redhat.com>
1701 commit 1fc99e6d5d6b9401e380ee756a4251c86a3b8d54
1702 Author: Mike Frysinger <vapier@gentoo.org>
1703 Date: Thu Apr 15 08:49:28 2010 -0400
1705 set +x on t0001-statd-basic-mon-unmon.sh
1707 The test framework tries to exec this script, but it fails because it
1710 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
1711 Signed-off-by: Steve Dickson <steved@redhat.com>
1713 commit bf867b09201abb155b52e81aeb08757b2f7c6937
1714 Author: Chuck Lever <chuck.lever@oracle.com>
1715 Date: Thu Apr 8 11:01:14 2010 -0400
1717 libexport.a: replace xlog(L_FATAL) in client_check()
1719 Clean up: Prevent the process from exiting in client_check(). Report
1720 bad m_type values, but return 0.
1722 This removes another site where a mountd or exportfs process can exit
1725 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1726 Signed-off-by: Steve Dickson <steved@redhat.com>
1728 commit a39b43b81a8e7b70310f250c5ffd77816577cd6c
1729 Author: Chuck Lever <chuck.lever@oracle.com>
1730 Date: Thu Apr 8 10:55:02 2010 -0400
1732 libexport.a: Refactor wildcard checking in client_check()
1734 Clean up: refactor wildcard logic out of client_check() to make it
1735 easier to introduce IPv6 support.
1737 Match the style used for client_check_{fqdn,subnetwork,netgroup}.
1739 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1740 Signed-off-by: Steve Dickson <steved@redhat.com>
1742 commit 346ca35298e45e55a58d0f566c3b32b69102c6de
1743 Author: Chuck Lever <chuck.lever@oracle.com>
1744 Date: Thu Apr 8 10:54:01 2010 -0400
1746 libexport.a: Refactor netgroup checking in client_check()
1748 Clean up: refactor netgroup logic out of client_check() to make it
1749 easier to introduce IPv6 support.
1751 + Use preferred style of keeping #ifdef out of the middle of
1752 function definitions. Squelch compiler warnings for "#ifndef
1753 HAVE_INNETGR" by using __attribute__((unused)).
1755 + Use preferred style of not using curly braces around switch cases.
1757 + Match style used for check_{fqdn,subnetwork}.
1759 + Clarify comment documenting use of h_aliases
1761 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1762 Signed-off-by: Steve Dickson <steved@redhat.com>
1764 commit 3455138100064d0213b124c72453accde2276be5
1765 Author: Chuck Lever <chuck.lever@oracle.com>
1766 Date: Thu Apr 8 10:52:33 2010 -0400
1768 libexport.a: Remove unused function client_checkaddr()
1772 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1773 Signed-off-by: Steve Dickson <steved@redhat.com>
1775 commit a4e3d5c53195c789ae26697a0b2ecdf05d76a85b
1776 Author: Chuck Lever <chuck.lever@oracle.com>
1777 Date: Thu Apr 8 10:51:54 2010 -0400
1779 libexport.a: Factor SUBNETWORK checking out of check_client()
1781 Clean up: Factor the MCL_SUBNETWORK case out of check_client() and
1782 client_checkaddr(). This will make it easier to add IPv6 support
1785 The logic in the new helper function will get a little more tangled
1786 once IPv6 support is introduced. Each slot in the clp address list
1787 eventually may contain an address from either address family.
1789 Note that the switch statement in client_checkaddr() is redundant,
1790 since clp->cl_mtype is loop invariant. This change makes SUBNETWORK
1791 client checking more computationally efficient, at the cost of a few
1792 extra lines of code.
1794 This commit should not change code behavior in any way.
1796 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1797 Signed-off-by: Steve Dickson <steved@redhat.com>
1799 commit 6abde64e6a605443dfc283ffb2642cb853f8b5b0
1800 Author: Chuck Lever <chuck.lever@oracle.com>
1801 Date: Thu Apr 8 10:50:41 2010 -0400
1803 libexport.a: Factor FQDN checking out of check_client()
1805 Clean up: Factor the MCL_FQDN case out of check_client() and
1806 client_checkaddr(). This will make it easier to add IPv6 support
1809 The logic in the new helper function will get a little more tangled
1810 once IPv6 support is introduced. Each slot in the clp address list
1811 eventually may contain an address from either address family.
1813 Note that the switch statement in client_checkaddr() is redundant,
1814 since clp->cl_mtype is loop invariant. This change makes FQDN client
1815 checking more computationally efficient, at the cost of a few extra
1818 This commit should not change code behavior in any way.
1820 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1821 Signed-off-by: Steve Dickson <steved@redhat.com>
1823 commit e8a54a3d5e32c9de009f84d1ef3f26d2dffbf226
1824 Author: Steve Dickson <steved@redhat.com>
1825 Date: Thu Apr 8 10:43:49 2010 -0400
1827 Remove some warnings that were introduced by commit 6ca440c
1829 Signed-off-by: Steve Dickson <steved@redhat.com>
1831 commit 132744e9f8885254bcf213c90009d40adeb716bc
1832 Author: Chuck Lever <chuck.lever@oracle.com>
1833 Date: Mon Mar 22 10:18:00 2010 -0400
1835 libexport.a: e_fslocdata should be freed with free(3)
1837 Clean up: Since e_fslocdata is allocated with strdup(3), and not
1838 xstrdup(), it should be freed with free(3), and not xfree().
1840 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1841 Signed-off-by: Steve Dickson <steved@redhat.com>
1843 commit e3b0046b4b12a6e05c0a7afd59ca5431ded51e96
1844 Author: Chuck Lever <chuck.lever@oracle.com>
1845 Date: Mon Mar 22 10:16:04 2010 -0400
1847 libexport.a: Fix whitespace damage in support/export/export.c
1849 Clean up whitespace damage introduced by commit 4cacc965.
1851 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1852 Signed-off-by: Steve Dickson <steved@redhat.com>
1854 commit 5f722d8855ebcb2d041e182c8c69c8cbee4bf408
1855 Author: Chuck Lever <chuck.lever@oracle.com>
1856 Date: Mon Mar 22 10:13:15 2010 -0400
1858 libexport.a: Clean up client_compose() and client_member()
1860 Clean up: Replace outdated comments, and fix some function
1861 declarations. Use proper type for a couple of automatic variables.
1863 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1864 Signed-off-by: Steve Dickson <steved@redhat.com>
1866 commit aa4c771fc359e097a3a6c3637f78c7bed7c450e9
1867 Author: Chuck Lever <chuck.lever@oracle.com>
1868 Date: Mon Mar 22 10:10:59 2010 -0400
1870 libexport.a: Remove dead code
1872 Clean up: I can't find any call sites for client_find() or
1875 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1876 Signed-off-by: Steve Dickson <steved@redhat.com>
1878 commit 0935cebc1e130c6adfd870c88a6493277c84d47f
1879 Author: Chuck Lever <chuck.lever@oracle.com>
1880 Date: Fri Mar 19 16:14:26 2010 -0400
1882 mount: Mount should retry unreachable hosts
1884 Currently if a server is up but not responding (ie, it answers ARP
1885 requests, but not NFS or RPC requests), mount retries or backgrounds
1886 itself waiting for the server.
1888 If the server is not responding on the network at all, mount fails
1889 the mount request immediately.
1891 Users might find it more useful if mount retried in both cases.
1893 Note that this change means attempting to mount using a misspelled
1894 server name will "hang" for the retry amount. I suppose the error
1895 message isn't very helpful whether it fails immediately or waits
1896 a couple of minutes, though I imagine that an unreachable server is a
1897 much more common occurrence than a misspelling.
1899 Reported-by: Daniel Goering <g_daniel@gmx.net>
1900 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1901 Signed-off-by: Steve Dickson <steved@redhat.com>
1903 commit baa41b2c78e796540c45692ea35214f7090a78cb
1904 Author: Chuck Lever <chuck.lever@oracle.com>
1905 Date: Fri Mar 19 16:03:45 2010 -0400
1907 sm-notify: Send fully-qualified and unqualified mon_names
1909 During any file locking interaction between an NFS client and server,
1910 the client tells the server what hostname it will use as the mon_name
1911 argument of the SM_NOTIFY request sent by the client when it reboots.
1912 This is the "caller_name" argument of an NLMPROC_LOCK request.
1914 The server, however, never tells the client what mon_name argument
1915 it will use when sending an SM_NOTIFY request. In order to recognize
1916 the server, clients usually guess what mon_name the server might
1917 send, by using the server hostname provided by the user on the mount
1920 Frequently, the user provides an unqualified server name on the mount
1921 command. The server might then call the client back with a fully
1922 qualified domain name, which might not match in some cases.
1924 Solaris, and perhaps other implementations, attempt to mitigate this
1925 problem by sending two SM_NOTIFY requests to each peer: one with an
1926 unqualified mon_name argument, and one with a fully qualified mon_name.
1928 Implement such a scheme for sm-notify.
1930 Since my_name is almost always the fully-qualified hostname associated
1931 with the local system, just wiping the left-most '.' in the my_name
1932 argument and sending another SM_NOTIFY is nearly always sufficient.
1934 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1935 Signed-off-by: Steve Dickson <steved@redhat.com>
1937 commit 900df0e7c0b9006d72d8459b30dc2cd69ce495a5
1938 Author: Chuck Lever <chuck.lever@oracle.com>
1939 Date: Wed Mar 17 06:15:08 2010 -0400
1941 sm-notify: Use my_name when sending SM_NOTIFY requests
1943 The mon_name argument of an SM_NOTIFY request is a string that
1944 identifies the rebooting host.
1946 sm-notify should send the my_name provided by the local lockd at the
1947 time the remote was monitored, rather than cocking up a mon_name
1948 argument based on the present return value of gethostname(3). If the
1949 local system's hostname happened to change after the last reboot, then
1950 the string returned by gethostname(3) will not be recognized by the
1951 remote. Thus the remote will never initiate lock recovery for the
1952 original named host, possibly leaving stale locks.
1954 The existing behavior of using the -v command line option as the
1955 mon_name argument is preserved, but we now prevent sending an IP
1956 presentation address, as some non-Linux implementations don't
1957 recognize addresses as valid mon_names.
1959 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1960 Reviewed-by: Jeff Layton <jlayton@redhat.com>
1961 Signed-off-by: Steve Dickson <steved@redhat.com>
1963 commit 70c59e231e7257ac93b68ba4b844f8d10a6af4a8
1964 Author: J. Bruce Fields <bfields@citi.umich.edu>
1965 Date: Mon Mar 8 15:02:26 2010 -0500
1967 mountd: trivial: name parameters for clarity
1969 Part of the reason for the previous bug was confusion between "subpath"
1970 and "path"; which is the shorter path, and which the longer?
1972 "child" and "parent" seem less ambiguous.
1974 Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
1975 Signed-off-by: Steve Dickson <steved@redhat.com>
1977 commit a064fde8c2615333227de97d159bb338d4ac640d
1978 Author: J. Bruce Fields <bfields@citi.umich.edu>
1979 Date: Mon Mar 8 14:59:01 2010 -0500
1981 mountd: fix path comparison for v4 crossmnt
1983 This was obviously wrong, since path[strlen(path)] == '\0'
1984 should always be true.
1986 Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
1987 Signed-off-by: Steve Dickson <steved@redhat.com>
1989 commit 6ca440c2661dccb05ae74ffb65817e9c30f05c8a
1990 Author: Steve Dickson <steved@redhat.com>
1991 Date: Mon Mar 8 11:22:46 2010 -0500
1993 mountd: fix --manage-gids hang due to int/uint bug
1995 A uid or gid should be represented as unsigned, not signed.
1997 The conversion to signed here could cause a hang on access by an unknown
1998 user to a server running mountd with --manage-gids; such a user is
1999 likely to be mapped to 232-1, which may be converted to 231-1 when
2000 represented as an int, resulting in a downcall for uid 231-1, hence the
2001 original rpc hanging forever waiting for a cache downcall for 232-1.
2003 Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2004 Signed-off-by: Steve Dickson <steved@redhat.com>
2006 commit 84346b7d7e69c113d6dbf03f2646a47b0e74a6b8
2007 Author: Steve Dickson <steved@redhat.com>
2008 Date: Mon Mar 8 10:24:44 2010 -0500
2010 Use authunix_create() instead of authsys_create() to fix regression.
2012 Commit 409b8 introduced a regression when the --disable-tirpc
2013 configuration flag is set. The authsys_create() interface, which
2014 was introduced, does not exist in the legacy glibc library.
2016 Since the authsys_create() interface is a redefined of the
2017 authunix_create() interface, which is defined in glibc, using
2018 authunix_create() resolves the regression,
2020 Acked-by: Jeff Layton <jlayton@redhat.com>
2021 Signed-off-by: Steve Dickson <steved@redhat.com>
2023 commit 409b89cc7106154780400c6b2bdce46bc9d5db4b
2024 Author: Jeff Layton <jlayton@redhat.com>
2025 Date: Mon Mar 1 08:07:34 2010 -0500
2027 nfs-utils: add and use nfs_authsys_create
2029 The current mount, umount and showmount code uses
2030 authunix_create_default to get an auth handle. The one provided by glibc
2031 returned a truncated list of groups when there were more than 16 groups.
2032 libtirpc however currently does an abort() in this case, which causes
2033 the program to crash and dump core.
2035 nfs-utils just uses these auth handles for the MNT protocol, so the
2036 group list doesn't make a lot of difference here. Add a new function
2037 that creates an auth handle with a supplemental gids list that consists
2038 only of the primary gid. Have nfs-utils use that function anywhere that
2039 it currently uses authunix_create_default. Also, have the caller
2040 properly check for a NULL return from that function.
2042 Signed-off-by: Jeff Layton <jlayton@redhat.com>
2043 Signed-off-by: Steve Dickson <steved@redhat.com>
2045 commit 9c8c2cd50d3cf0316c2a1bdf6cb9efc7e1a20be9
2046 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
2047 Date: Mon Mar 1 07:37:49 2010 -0500
2049 Fix a typo in commit 6d5ac3fa (nfsd: Disble NFS 4.1 functionality by
2052 We did not really intend to make NFSv4.0 support conditional on NFSv4.1
2055 Signed-off-by: Steve Dickson <steved@redhat.com>
2057 commit 639b63394c6dd66e06423bfe810366277955c570
2058 Author: Steve Dickson <steved@redhat.com>
2059 Date: Thu Feb 18 07:35:00 2010 -0500
2063 Signed-off-by: Steve Dickson <steved@redhat.com>