aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/nfsclient/nfs.h
Commit message (Collapse)AuthorAgeFilesLines
* nfscl: Clear out a lot of cruft related to B_DIRECTRick Macklem2024-04-281-1/+0
| | | | | | | | | | | | | | | | | There is only one place in the unpatched sources where B_DIRECT is set in the NFS client and this code is never executed. As such, this patch removes this code that is never executed, since B_DIRECT should never be set. During a IETF testing event this week, I saw a crash in ncl_doio_directwrite(), but this function is only called if B_DIRECT is set. I cannot explain how ncl_doio_directwrite() got called, but once this patch was applied to the sources, the crash did not recur. This is not surprising, since this patch deleted the function. Reviewed by: kib, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44980
* nfsclient: eliminate ncl_writebp()Konstantin Belousov2024-01-051-1/+0
| | | | | | | | | | | | Use plain bufwrite() instead. ncl_writebp() evolved to mostly repeat bufwrite() code with some ommisions, most notably runningbufspace accounting. Reviewed by: imp, markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43249
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* nfscl: Add support for a NFSv4 AppendWrite RPCRick Macklem2022-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | For IO_APPEND VOP_WRITE()s, the code first does a Getattr RPC to acquire the file's size, before it can do the Write RPC. Although NFS does not have an append write operation, an NFSv4 compound can use a Verify operation to check that the client's notion of the file's size is correct, followed by the Write operation. This patch modifies the NFSv4 client to use an Appendwrite RPC, which does a Verify to check the file's size before doing the Write. This avoids the need for a Getattr RPC to preceed this RPC and reduces the RPC count by half for IO_APPEND writes, so long as the client knows the file's size. The nfsd structure was moved from the stack to be malloc()'d, since the kernel stack limit was being exceeded. While here, fix the types of a few variables, although there should not be any semantics change caused by these type changes.
* Remove "struct ucred*" argument from vtruncbufAlan Somers2019-05-241-2/+1
| | | | | | | | | | | | | | | vtruncbuf takes a "struct ucred*" argument. AFAICT, it's been unused ever since that function was first added in r34611. Remove it. Also, remove some "struct ucred" arguments from fuse and nfs functions that were only used by vtruncbuf. Reviewed by: cem MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20377 Notes: svn path=/head/; revision=348251
* sys: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326023
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* Fix kernel builds with "options NFS_DEBUG" thatRick Macklem2014-12-231-0/+18
| | | | | | | | | | | were broken by r276096. Also delete the two kernel options NFS_GATHERDELAY, NFS_WDELAYHASHSIZ which are no longer used. Reported by: bz Notes: svn path=/head/; revision=276140
* Modify the experimental (newnfs) NFS client so that it uses theRick Macklem2011-04-251-1/+0
| | | | | | | | | | | same diskless NFS root code as the regular client, which was moved to sys/nfs by r221032. This fixes the newnfs client so that it can do an NFSv3 diskless root file system. MFC after: 2 weeks Notes: svn path=/head/; revision=221040
* Change the experimental NFS client so that it creates nfsiodRick Macklem2011-04-151-1/+2
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=220683
* When the experimental NFS client is handling an NFSv4 server rebootRick Macklem2010-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 Notes: svn path=/head/; revision=207082
* Patch the experimental NFS client in a manner analogous toRick Macklem2010-01-281-1/+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 Notes: svn path=/head/; revision=203119
* When porting the experimental nfs subsystem to the FreeBSD8 krpc,Rick Macklem2009-12-261-1/+0
| | | | | | | | | | | | I added 3 functions that were already in the experimental client under different names. This patch deletes the functions in the experimental client and renames the calls to use the other set. (This is just removal of duplicated code and does not fix any bug.) MFC after: 2 weeks Notes: svn path=/head/; revision=201029
* Modify the diskless booting code in sys/fs/nfsclient to be compatibleRick Macklem2009-05-151-1/+1
| | | | | | | | | with what is in sys/nfsclient, so that it will at least build now. Approved by: kib (mentor) Notes: svn path=/head/; revision=192145
* Add the experimental nfs subtree to the kernel, that includesRick Macklem2009-05-041-0/+95
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) Notes: svn path=/head/; revision=191783