commit 5d12d1ee204889e144ffcfbd2b6fc7279ad6e7f3 Author: Steve Dickson Date: Thu Sep 25 15:36:26 2014 -0400 Release 1.3.1 Signed-off-by: Steve Dickson commit 2ae393ce6f64bd6463ff510da9c20db5164a3c98 Author: Steve Dickson Date: Mon Sep 22 15:15:38 2014 -0400 nfs-service: Added gssproxy support When kernel have gssproxy support the the gssproxy daemon should be used to manage the GSSAPI creds. So this patch adds "calls" to the gssproxy daemon from the NFS server systemd unit file. When gssproxy is installed, gssproxy will be start and rpc.svcgssd will not be. When gssproxy is not installed the rpc.svcgssd daemon will be started. Note, there are already existing hooks in the rpc-svcgssd service file that will ensure the gssproxy will be started before rpc.svcgssd which allows the script not to start rpc.svcsdd when gssproxy is installed and running. Signed-off-by: Steve Dickson commit c59301841b5ab644a85c2806f9231a9a2886b031 Author: Steve Dickson Date: Mon Sep 22 16:35:20 2014 -0400 rpc.svcgssd: Add a configure switch to disable building the daemon Now that gssproxy is supported on modern kernels, the svcgssd is no longer needed. This switch disables the building of the daemon. Signed-off-by: Steve Dickson commit 2d9ea45bdbaf8bd78ce34b99480df548d367082d Author: J. Bruce Fields Date: Wed Sep 24 11:26:12 2014 -0400 systemd: manually insert auth_rpcgss module. We need to insert the auth_rpcgss module before starting rpc.svcgssd or gss-proxy, for two reasons: - gss-proxy needs access to the /proc/net/rpc/use-gss-proxy file to set up communication with knfsd. - the unit files need to able to test for the existance of the same path in order to decide whether the kernel supports gss-proxy or not. Currently we're using dependencies on proc-fs-nfsd.mount for this, but that works only because of the nfsd kernel module references some symbols in auth_rpcgss, which is an odd implementation detail we're likely to fix some day. Signed-off-by: J. Bruce Fields Signed-off-by: Steve Dickson commit cfbbb7ac24f400d5a37c5fc9fd784bb81e99ed05 Author: Marko Myllynen Date: Mon Sep 22 10:09:22 2014 -0400 nfsstat: document nfsstat io/ra server facilities Document the newly added nfsstat io/ra server facilities. Signed-off-by: Marko Myllynen Signed-off-by: Steve Dickson commit 03855a88a4f4c6803abe96c55315929d5e3a0048 Author: Marko Myllynen Date: Mon Sep 22 10:01:02 2014 -0400 nfsstat: add server ra cache stats Add server read ahead cache statistics to nfsstat. Signed-off-by: Marko Myllynen Signed-off-by: Steve Dickson commit 3533854d4dc44e4a4ffce00db3df8e7a91f6b323 Author: Marko Myllynen Date: Mon Sep 22 09:55:07 2014 -0400 nfsstat: add server io stats Add server io statistics to nfsstat. Signed-off-by: Marko Myllynen Signed-off-by: Steve Dickson commit c41a3d0a17baa61a07d48d8536e99908d765de9b Author: Jeff Layton Date: Fri Sep 19 11:07:31 2014 -0400 nfsdcltrack: fetch NFSDCLTRACK_GRACE_START out of environment Allow the fetching of NFSDCLTRACK_GRACE_START out of environment variables. If it's present in the "create" or "init" upcalls, then we can use that to query the database to see whether there are any clients that have not issued a RECLAIM_COMPLETE since that time. If there aren't any, then we know that all reclaim activity is now done and we can then cue the kernel to lift the grace period. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 35298882c4bd1c4eaa0043a2efe5a986e211f0e1 Author: Jeff Layton Date: Fri Sep 19 11:05:46 2014 -0400 nfsdcltrack: grab the NFSDCLTRACK_CLIENT_HAS_SESSION env var if it's present ...and set the has_session field in the DB based on whether it's true or not. Since we no longer set the timestamp for v4.1+ clients on a check operation, we must be careful to set the timestamp to zero for v4.1+ clients found via the legacy tracker. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit d479ad3adb0671c48d6fbf3e36bd52a31159c413 Author: Jeff Layton Date: Fri Sep 19 11:03:45 2014 -0400 nfsdcltrack: update schema to v2 From: Jeff Layton In order to allow knfsd's lock manager to lift its grace period early, we need to figure out whether all clients have finished reclaiming their state not. Unfortunately, the current code doesn't allow us to ascertain this. All we track for each client is a timestamp that tells us when the last "check" or "create" operation came in. Not only is this insufficient with clients that use sessions, it's also wrong. We only want to update the timestamp on v4.1 clients when the "create" operation comes in or we can leave the server susceptible to edge condition #2 in RFC5661, section 8.4.3. Once the grace period is lifted, we disallow reclaim on subsequent reboots for clients that have not sent a RECLAIM_COMPLETE. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 3548dd1563d5893ba6dce6eb44652b6d56fa065f Author: Jeff Layton Date: Fri Sep 19 11:00:03 2014 -0400 nfsdcltrack: overhaul database initializtion We have some possibility for races with nfsdcltrack when the DB schema is upgraded. Suppose we update the nfs-utils package on a machine after the DB has been initialized. With the current scheme of initializing the DB only during the "init" phase, we could end up with a new program that expects a new schema with an old database. We could try to do a one-time update when the package is installed, but that could be racy. We could get an upcall between when the program is installed and when we run the update. Also, relying on packaging to get that right is tricky at best. To fix this, change how the database initialization and checking of the schema revision works. On every upcall, attempt to open the db as we normally would. If that fails, then try to create the directory if it doesn't exist and then retry the open. If it fails again, then give up. If we get a successful open, then query the DB for the schema version. If it matches what we expect, then declare success and move on. If the query fails then assume that the DB isn't set up yet. Start an exclusive transaction, check the schema version again and then set up the DB if no one raced in to create it in the meantime. This should only add a tiny bit of overhead on most upcalls (just an extra select of the parameters table), and should improve the performance of the "init" upcall. It'll also make it possible to handle DB schema changes sanely. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 7e63dda9eb4e1da4890b8d893717cf748580e3e6 Author: Jeff Layton Date: Fri Sep 19 10:57:11 2014 -0400 nfsdcltrack: rename CLD_* constants with CLTRACK_* prefixes Since nfsdcld has been dead for a few years now, clean up the prefixes on the constants. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 0982d037d5492895ead4deafc924a8c02d7fdbd3 Author: Jeff Layton Date: Fri Sep 19 10:55:08 2014 -0400 nfsdcltrack: update comments in sqlite.c Clean up and fix some inaccuracies. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 54f9bfeec7e68ef4b9be4fc70f17c9b9350637b4 Author: Jeff Layton Date: Fri Sep 19 10:53:47 2014 -0400 sm-notify: inform the kernel if there were no hosts to notify In the event that there no hosts to be notified after a reboot, there's no real reason to force lockd to wait the entire grace period before handing out locks. We're not expecting any reclaim requests to come in that situation. Have sm-notify do a write to /proc/fs/lockd/nlm_end_grace if that file is present. That informs the kernel that it's OK to go ahead and lift lockd's grace period early. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 64229ea3c8506a9b0599eafffa3d6bb488c248ec Author: Jeff Layton Date: Fri Sep 19 10:41:51 2014 -0400 nfsdcltrack: fix some minor nits in the manpage nfsdcltrack isn't a daemon, and we should make mention of the section in RFC5661. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 7f5f7fe118b87fbc6a2c6cc52aff808564d907a4 Author: Todd Vierling Date: Fri Sep 19 10:32:55 2014 -0400 exportfs: Properly parse IPv6 literal strings with null termination The original implementation was using strncpy() with a truncation length to an uninitialized stack buffer, leaving a string that was only null terminated by luck. While here, change to use no-copy semantics (no extra buffer) to avoid buffer overflows altogether. exportfs already modifies argv contents elsewhere, so this doesn't break anything anew. Fixes: 4663c648 (exportfs: Support raw IPv6 addresses with "client:/path") Signed-off-by: Todd Vierling Reviewed-by: Chuck Lever Signed-off-by: Steve Dickson commit 0a7b6854e50eca6613f525c8e1b7978c10372863 Author: Steve Dickson Date: Tue Sep 16 09:10:55 2014 -0400 Fixed typo in nfsstat -sv output Signed-off-by: Steve Dickson commit 05fc73859eacc96d846f5ef91cae5b8bac5f564e Author: Chris Perl Date: Mon Sep 15 14:02:25 2014 -0400 nfs_get_tcpclient/nfs_get_udpclient - make bind(2) implicit When attempting to establish a local ephemeral endpoint for a TCP or UDP socket, do not explicitly call bind(2), instead let it happen implicilty when the socket is first used. The main motivating factor for this change is when TCP runs out of unique ephemeral ports (i.e. cannot find any ephemeral ports which are not a part of *any* TCP connection). In this situation if you explicitly call bind(2), then the call will fail with EADDRINUSE. However, if you allow the allocation of an ephemeral port to happen implicitly as part of connect(2) (or other functions), then ephemeral ports can be reused, so long as the combination of (local_ip, local_port, remote_ip, remote_port) is unique for TCP sockets on the system. This doesn't matter for UDP sockets, but it seemed easiest to treat TCP and UDP sockets the same. This can allow mount.nfs(8) to continue to function successfully, even in the face of misbehaving applications which are creating a large number of TCP connections. Signed-off-by: Chris Perl Signed-off-by: Steve Dickson commit 8399548e6b904116e0e41d83e4a4b571af8ea578 Author: Jeff Layton Date: Fri Sep 12 13:20:13 2014 -0400 gssd: ensure that preferred_realm is non-NULL before passing it to strcmp It's possible for "preferred_realm" to be NULL, in which case we don't want to pass it to strcmp. Other places that use this variable test whether it's NULL first -- we need to do the same here. This should fix the gssd crash reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1108615 Reported-by: Brian J. Murrell Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit d89e3fc7d3b14dea481bd9af0bca996ced689bf6 Author: Natanael Copa Date: Fri Sep 12 13:19:01 2014 -0400 exportfs: fix test of NULL pointer in host_pton() This fixes the problem reported in: https://bugzilla.redhat.com/show_bug.cgi?id=1083018 Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 230b8e5f4a8e49703c3c17296fc517a950e04c78 Author: Natanael Copa Date: Fri Sep 12 05:16:05 2014 -0400 Include libgen.h for basename According POSIX basename(3) should have an #include There are a different GNU implementation too, that can be used with _GNU_SOURCE, but the POSIX version is good enough and more portable. Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit c09c44f6110fb2c1ad5e5c0fe91f2dc34ec14b73 Author: Natanael Copa Date: Fri Sep 12 05:13:56 2014 -0400 mountd: Only work around glibc bugs on glibc Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 20b6f6ba12755632bb639a40e030b79b65b78549 Author: Natanael Copa Date: Fri Sep 12 05:13:16 2014 -0400 Allow usage of getrpcbynumber() when getrpcbynumber_r() is unavailable Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit d17e43047a65f5bfced18a8fbbd52ff635d4ff02 Author: Natanael Copa Date: Fri Sep 12 04:58:02 2014 -0400 nfsstat: replace the legacy SA_ONESHOT with standard SA_RESETHAND Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit e54516fc2b7d15216e940bdf25ce6101117455e0 Author: Natanael Copa Date: Fri Sep 12 04:56:40 2014 -0400 mountd: use standard dev_t instead of glibc internals The __dev_t is a GNU libc internal. Use the standard dev_t instead, which is specified in POSIX. Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 69046e28fcdf42ecbbe777f080fff9656e242ed4 Author: Natanael Copa Date: Fri Sep 12 04:55:06 2014 -0400 replace __attribute_malloc__ with the more portable __attribute__((__malloc__)) Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit f1816585555b8505c04375818ccfb797202d1f84 Author: Natanael Copa Date: Fri Sep 12 04:53:04 2014 -0400 configure.ac: enable GNU_SOURCE for stat64/statfs64 Use AC_USE_SYSTEM_EXTENSIONS to enable GNU_SOURCE, which is needed for: - stat64 in utils/exportfs/exportfs.c - statfs64 in utils/mountd/cache.c Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 267c7a02eeecafa0b5e4265d43e548489e8ffbac Author: Natanael Copa Date: Fri Sep 12 04:50:42 2014 -0400 Fix header include for definition of NULL NULL is defined in stdlib.h so we need to include that. Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 20351c53dd0232b4344cc9ae448002c3f5a97c72 Author: Natanael Copa Date: Fri Sep 12 04:49:24 2014 -0400 conffile: use standard uint*_t and unsigned char Use the standard integer types. This fixes compiling errors with musl libc. Signed-off-by: Natanael Copa Signed-off-by: Steve Dickson commit 082613db48898d7e95139ecc3af9607c815b0e2f Author: Steve Dickson Date: Sun Aug 24 15:50:54 2014 -0400 exportfs: taught exportfs -v about the nordirplus option Signed-off-by: Steve Dickson commit 4017afe28d640c535109576bd149bc7e0345f075 Author: Rajesh Ghanekar Date: Wed Aug 20 14:00:59 2014 -0400 nfs-utils: Allow turning off nfsv3 readdir_plus One of our customer's application only needs file names, not file attributes. With directories having 10K+ inodes (assuming buffer cache has directory blocks cached having file names, but inode cache is limited and hence need eviction of older cached inodes), older inodes are evicted periodically. So if they keep on doing readdir(2) from NSF client on multiple directories, some directory's files are periodically removed from inode cache and hence new readdir(2) on same directory requires disk access to bring back inodes again to inode cache. As READDIRPLUS request fetches attributes also, doing getattr on each file on server, it causes unnecessary disk accesses. If READDIRPLUS on NFS client is returned with -ENOTSUPP, NFS client uses READDIR request which just gets the names of the files in a directory, not attributes, hence avoiding disk accesses on server. There's already a corresponding client-side mount option, but an export option reduces the need for configuration across multiple clients. This flag affects NFSv3 only. If it turns out it's needed for NFSv4 as well then we may have to figure out how to extend the behavior to NFSv4, but it's not currently obvious how to do that. Signed-off-by: Rajesh Ghanekar Signed-off-by: Steve Dickson commit 00bb6d244cbf4a09fdbd3fce2a3d57986087d928 Author: Mike Frysinger Date: Tue Aug 19 10:05:05 2014 -0400 start-statd: clean up output when systemd is not installed If you don't have systemd, then this script dumps: /usr/sbin/start-statd: line 8: systemctl: command not found This isn't terribly useful since we ultimately fall back to running the daemon ourselves, so probe for systemd's existence before we try to use it. Signed-off-by: Mike Frysinger Signed-off-by: Steve Dickson commit f7b42b9e32102c153b3effb875d7a98ad795502f Author: Jurjen Bokma Date: Mon Aug 18 12:46:37 2014 -0400 gssd: select non-conventional principal This enable kerberized NFS mounts to succeed even if the principal is not $. It works by reading another principal name from the [appdefaults] section of krb5.conf: [appdefaults] nfs = { ad_principal_name = 129.125.39.115$ } Signed-off-by: Jurjen Bokma Signed-off-by: Steve Dickson commit b2b7d7f75a2df81704fdd67e7723a3172b4da5a2 Author: Christoph Hellwig Date: Wed Aug 13 10:49:21 2014 -0400 blkmapd: dump useful device information to syslog Dump some information about used devices to syslog so that an admin can troubleshoot failing blocklayout mounts. Signed-off-by: Christoph Hellwig Signed-off-by: Steve Dickson commit 66b2df42911298c29c756d7b8cbdb7f6801264ed Author: Christoph Hellwig Date: Wed Aug 13 10:43:32 2014 -0400 blkmapd: fix broken multipath handling We do want to use the dm-multipath device if it exists, which the code is generally prepared for, except that this check excludes them early. In addition this will also add the passive path to the device list, which is harmless if an active one exists as that or the multipath device will be preferred, and at least allows us to work if it doesn't. Also fix up the check if an path needs to be updated to remove the silly partition check - pNFS block offset are relative to the device so partion should never match it instead of the full device. On the other hand the simplistic check easily creates false positives, e.g. dm-10 is considered a partition of dm-1. Signed-off-by: Christoph Hellwig Signed-off-by: Steve Dickson commit 1df82a36df74a59f55eea99d08612564fa22cbef Author: Slavek Kabrda Date: Fri Jul 25 10:53:28 2014 -0400 Fix Python 3 compatibility of mountstats and nfs-iostat Signed-off-by: Steve Dickson commit b7b9e4e69587652b40d543094b133fb8b4881dc1 Author: Rinku Kothiya Date: Fri Jul 25 10:50:55 2014 -0400 gssd: configurable connection timeout for the rpcgssd service When using rpc.gssd to secure NFSv3 FS using krb5, the following errors can happen as a result of network congestion. "rpc.gssd WARNING: can't create tcp rpc_clnt to server ... : RPC: Remote system error - Connection timed out" we had a successful reproducer of the problem which we tested using this patch by starting rpc.gssd with "-T 60" as the option which solved the problem. reproducer steps were to throttle the network using tc command and then in a never ending loop mount the share, then write some data in the file on the share and unmount it. keep a delay of 5 sec between the iteration of each loop. CC: Christian Horn Signed-off-by: Rinku Kothiya Signed-off-by: Steve Dickson commit 404c79c81df0548d50216cddc7d2c4ebfca45c45 Author: Steve Dickson Date: Fri Jul 25 10:48:16 2014 -0400 gssd: Fixed errno typo in get_servername() Signed-off-by: Steve Dickson commit fe91df5e1d115015b31bb055ef0b4d5dfdc0635c Author: Steve Dickson Date: Tue Jul 8 10:29:52 2014 -0400 gssd: Error out when rpc_pipefs directory is empty When there is no kernel modules loaded the rpc_pipefs directory is empty, which cause rpc.gssd to silently exit. This patch adds a check to see if the topdirs_list is empty. If so error out without dropping a core. Signed-off-by: Steve Dickson commit 595a390d612c22e9888ed547727f09a9e2a961cf Author: Jianhong Yin Date: Tue Jun 17 14:24:26 2014 -0400 mountd.man: Added missing arguments in man page Signed-off-by: Steve Dickson commit 6091c0a4c442f67edf1237347e1cb0eedc7d6fd9 Author: Steve Dickson Date: Tue Jun 17 14:01:48 2014 -0400 mountd: add support for case-insensitive file names Case insensitive filesystems support textually distinct names for the same directory. i.e. you can access it with a name other than the canonical name. For example if you mkdir /mnt/export then add /mnt/EXPORT to /etc/exports, and on a client mount server:/mnt/EXPORT /import then the mount will work, but if the kernel on the server needs to refresh the export information, it will ask about "/mnt/export", which is not listed in /etc/exports and so will fail. To fix this we need mountd to perform case-insensitive name comparisons, but only when the filesystem would, and in exactly the same way that the filesystem would. So, when comparing paths for equality first try some simple heuristics which will not be fooled by case and then ask the kernel if they are the same. By preference we use name_to_handle_at() as it reports the mntid which can distinguish between bind mounts. If that is not available, use lstat() and compare rdev and ino. Acked-by: J. Bruce Fields Signed-off-by: NeilBrown Signed-off-by: Steve Dickson commit 3b1457d219ceb1058d44bacc657581f13437ae40 Author: Steve Dickson Date: Tue Jun 17 13:28:53 2014 -0400 statd: fixed the --with-statdpath= flag Create the given path set with --with-statdpath Signed-off-by: chendt.fnst@cn.fujitsu.com Reported-by: yaoxp@cn.fujitsu.com Signed-off-by: Steve Dickson commit a4793601381656a64abe20ed8c2242f0eb2496e6 Author: Jan Chaloupka Date: Mon Jun 16 09:47:32 2014 -0400 nfsiostat: Document the output columns in the manpage Signed-off-by: Steve Dickson commit fb490bdcb302a56d8513ae854c3caec950bdf071 Author: Veli-Matti Lintu Date: Sun Jun 1 13:08:35 2014 -0400 gssd: Fix allocated buffer size for the scraped acceptor name in do_downcall In commit 51fda07a "gssd: scrape the acceptor name out of the context" the allocated buffer size is not large enough to hold the actual data that is written to the buffer. This fixes the allocated buffer size. Reviewed-by: Jeff Layton Signed-off-by: Veli-Matti Lintu Signed-off-by: Steve Dickson commit a126e718ab931963ca877fd11203f873fd50811f Author: Rong Zeng Date: Sun Jun 1 13:04:48 2014 -0400 statd: Adding callback on sm_notify This patch adds a callback for incoming sm_notify to better handle stale lock issue in client crash recovery in HA-NFS environment 1. "sm-notify" - callout name 2. monitored client name as in the SM_NOTIFY request 3. IP of the sender of the SM_NOITFY request. 4. state value in the SM_NOTIFY request This new interface can be used by different HA-NFS product in its specific configuration and environment to recover from the client crash and stale lock scenarios. Signed-off-by: Rong Zeng Signed-off-by: Steve Dickson commit 548bbdc49b1f5dfbe7ba75d20c5791652dfeb125 Author: Kinglong Mee Date: Sun Jun 1 12:51:02 2014 -0400 mount.nfs: print more useful error message When mounting spec of a regular file, mount.nfs print error message as, mount.nfs: mount point /mnt is not a directory mount.nfs: mount point /mnt/testfile is not a directory This patch lets mount.nfs print more useful message, mount.nfs: mount spec 127.0.0.1:/root/testfile or point /mnt is not a directory mount.nfs: mount point /mnt/testfile is not a directory Signed-off-by: Kinglong Mee Signed-off-by: Steve Dickson commit 25e83c2270b2d2966c992885faed0b79be09f474 Author: Jeff Layton Date: Thu May 1 11:15:16 2014 -0400 mountd: fix segfault in add_name with newer gcc compilers I hit a segfault in add_name with a mountd built with gcc-4.9.0. Some NULL pointer checks got reordered such that a pointer was dereferenced before checking to see whether it was NULL. The problem was due to nfs-utils relying on undefined behavior, which tricked gcc into assuming that the pointer would never be NULL. At first I assumed that this was a compiler bug, but Jakub Jelinek and Jeff Law pointed out: "If old is NULL, then: strncpy(new, old, cp-old); is undefined behavior (even when cp == old == NULL in that case), therefore gcc assumes that old is never NULL, as otherwise it would be invalid. Just guard strncpy(new, old, cp-old); new[cp-old] = 0; with if (old) { ... }." This patch does that. If old is NULL though, then we still need to ensure that new is NULL terminated, lest the subsequent strcats walk off the end of it. Cc: Jeff Law Cc: Jakub Jelinek Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 9a36e0227c4dd8c3ebd1fbb313737c9b95fbd7e1 Author: Steve Dickson Date: Thu May 1 10:35:12 2014 -0400 start-statd: rpc.statd's systemd unit changed names. Signed-off-by: Steve Dickson commit 1b0dfd5296b8d420a9d77979330a05bda31577f4 Author: NeilBrown Date: Wed Apr 30 12:55:50 2014 -0400 nfsdctltrack: ensure binary is installed in /sbin The kernel "knows" this lives in /sbin, so just like mount.nfs and osd_login, it must unconditionally be installed there. Signed-off-by: NeilBrown Signed-off-by: Steve Dickson commit a2e431fdd114f2c2466573471dafef9024392f2d Author: Steve Dickson Date: Wed Apr 30 12:26:06 2014 -0400 nfsd: Remove some warnings nfsd.c nfsd.c:347:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] nfsd.c:385:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Steve Dickson commit 51fda07a28a8a6ecba60af26b0716caafc6d6c6b Author: Jeff Layton Date: Wed Apr 30 12:17:42 2014 -0400 gssd: scrape the acceptor name out of the context ...and pass it to the kernel in the downcall. Legacy kernels will just ignore the extra data, but with a proposed kernel patch the kernel will grab this info and use it to verify requests on the v4.0 callback channel. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit c2007d1c2d2fe27750295cc3845411355a8dd945 Author: Jeff Layton Date: Wed Apr 30 12:12:02 2014 -0400 gssd: explicitly set lifetime_rec to 0 when gss_inquire_context fails Contrary to the comment here, the lifetime_rec is not necessarily set to zero on failure. That's only guaranteed to be the case if the context has expired. Cc: Andy Adamson Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 4367cacd3c9f52cd7db6c3d0a51e14fb0adef7a4 Author: Jeff Layton Date: Wed Apr 30 12:09:14 2014 -0400 gssd: add new routine for generating a hostbased principal in a gss_buffer_t We'll need a gss_buffer_t to pass to the downcall marshalling code. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 7d809fd2b61bc723d1b8092db60ab3083a72c87e Author: Jeff Layton Date: Wed Apr 30 12:07:07 2014 -0400 gssd: move hostbased name routines into separate file In a later patch, we'll need gssd to call into this code as well as svcgssd. Move it into a common file that both can link in. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 54ee5c458aee93c5b7b4b545cfcd4770f65cf2e6 Author: Jeff Layton Date: Wed Apr 30 12:00:59 2014 -0400 gssd: make do_downcall a void return ...since its return code is ignored anyway. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit 22dcb8d02e44a137d4354c0c2503698927bae898 Author: Jeff Layton Date: Wed Apr 30 12:00:05 2014 -0400 gssd: handle malloc failure appropriately in do_downcall ...and get rid of some pointless NULL ptr checks. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson commit e46ed1ee82c5e6070089bad0d859a45ca56cb35f Author: Chuck Lever Date: Wed Apr 30 11:51:35 2014 -0400 nfs-iostat: Fix attribute cache statistics "nfs-iostat.py --attr" was displaying nonsense (like negative counts and percentages). Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson commit f97a541578f265db558191c6be8e71ff84beea0d Author: Chuck Lever Date: Wed Apr 30 11:49:40 2014 -0400 nfs-iostat: Fix columnarization of RPC statistics Note: format() is new with Python 2.6 Signed-off-by: Steve Dickson commit e8d63ff3b4dddcd3a3ff4e8d3c4db371ba665056 Author: Steve Dickson Date: Tue Apr 29 14:40:56 2014 -0400 Added more (commented out) options to nfsmount.conf Signed-off-by: Steve Dickson commit edbbbe099bf4d4902f29d087239d6d159ac2187d Author: Kinglong Mee Date: Fri Apr 25 10:28:47 2014 -0400 systemd: add PATH for finding systemctl The 1.3.0 release adds a call to systemctl fails for it's in /usr/bin. [root@localhost nfs-utils]# start-statd /usr/sbin/start-statd: line 9: systemctl: command not found Statd service already running! Reported-by: Allan Duncan Signed-off-by: Kinglong Mee Signed-off-by: Steve Dickson