summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfs_clnfsiod.c
Commit message (Collapse)AuthorAgeFilesLines
* When an NFS unmount occurs, once vflush() writes the last dirtyrmacklem2013-04-181-0/+8
| | | | | | | | | | | | | | | | buffer for the last vnode on the mount back to the server, it returns. At that point, the code continues with the unmount, including freeing up the nfs specific part of the mount structure. It is possible that an nfsiod thread will try to check for an empty I/O queue in the nfs specific part of the mount structure after it has been free'd by the unmount. This patch avoids this problem by setting the iodmount entries for the mount back to NULL while holding the mutex in the unmount and checking the appropriate entry is non-NULL after acquiring the mutex in the nfsiod thread. Reported and tested by: pho Reviewed by: kib MFC after: 2 weeks
* Change the sysctl naming for the old and new NFS clientsrmacklem2011-05-151-6/+6
| | | | | to vfs.oldnfs.xxx and vfs.nfs.xxx respectively. This makes the default nfs client use vfs.nfs.xxx after r221124.
* Change the experimental NFS client so that it creates nfsiodrmacklem2011-04-151-42/+61
| | | | | | | | | threads in the same manner as the regular NFS client after r214026 was committed. This resolves the lors fixed by r214026 and its predecessors for the regular client. Reviewed by: jhb MFC after: 2 weeks
* Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separatermacklem2010-07-241-1/+0
| | | | | | | | | | | module that can be used by both the regular and experimental nfs clients. This fixes the problem reported by jh@ where /dev/nfslock would be registered twice when both nfs clients were used. I also defined the size of the lm_fh field to be the correct value, as it should be the maximum size of an NFSv3 file handle. Reviewed by: jh MFC after: 2 weeks
* When the experimental NFS client is handling an NFSv4 server rebootrmacklem2010-04-221-2/+4
| | | | | | | | | | | | with delegations enabled, the recovery could fail if the renew thread is trying to return a delegation, since it will not do the recovery. This patch fixes the above by having nfscl_recalldeleg() fail with the I/O operations returning EIO, so that they will be attempted later. Most of the patch consists of adding an argument to various functions to indicate the delegation recall case where this needs to be done. MFC after: 1 week
* Patch the experimental NFS client in a manner analogous tormacklem2010-01-281-8/+14
| | | | | | | | r203072 for the regular NFS client. Also, delete two fields of struct nfsmount that are not used by the FreeBSD port of the client. MFC after: 2 weeks
* Add the experimental nfs subtree to the kernel, that includesrmacklem2009-05-041-0/+308
support for NFSv4 as well as NFSv2 and 3. It lives in 3 subdirs under sys/fs: nfs - functions that are common to the client and server nfsclient - a mutation of sys/nfsclient that call generic functions to do RPCs and handle state. As such, it retains the buffer cache handling characteristics and vnode semantics that are found in sys/nfsclient, for the most part. nfsserver - the server. It includes a DRC designed specifically for NFSv4, that is used instead of the generic DRC in sys/rpc. The build glue will be checked in later, so at this point, it consists of 3 new subdirs that should not affect kernel building. Approved by: kib (mentor)
OpenPOWER on IntegriCloud