An error occurred fetching the project authors.
- 26 Feb, 2004 7 commits
-
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au>
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Call decode_fattr on writable attributes to check for xdr errors, incorrect utf8, etc.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> nfsd4_restore_fh() returns nfserr_restorefh instead of nfserr_nofilehandle
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> changes nfserr_readdir_nospc to nfserr_toosmall, following rfc3530 which has no nfserr_readdir_nospc. error 10030 which was nfserr_readdir_nospc is actually nfserr_restorefh.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Since the open op changes the current filehandle, we can't correctly replay compounds containing opens unless we save the filehandle resulting from the open as well as the encoded reply.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Use higher-resolution time for the changeinfo, instead of using time and filesize.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Updated version which uses ascii-encoding of messages, from http://www.citi.umich.edu/u/marius/linux-2.5.70-idmap-server-new.diff as of October 14, 2003.
-
- 07 Oct, 2003 1 commit
-
-
Trond Myklebust authored
Convert them into structures
-
- 22 Sep, 2003 5 commits
-
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> This implments the LOCKU operation. These all pass the connectathon lock test suite against the solaris nfsv4 client.
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> This implements the LOCKT operation.
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> This implements the nfsv4 LOCK operation.
-
Neil Brown authored
This implements the idempotent replay cache need for NFSv4 OPEN state. each state owner (open owner or lock owner) is required to store the last sequence number mutating operation, and retransmit it when replayed sequence number is presented for the operation. I've implemented the cache as a static buffer of size 112 bytes (NFSD4_REPLAY_ISIZE) which is large enough to hold the OPEN, the largest of the sequence mutation operations. This implements the cache for OPEN, OPEN_CONFIRM, OPEN_DOWNGRADE, and CLOSE. LOCK and UNLOCK will be added when byte-range locking is done (soon!).
-
Neil Brown authored
There is a warning because of calling return with an argument on a void function. The root cause is putting a return statement in a macro (evil side effect). Change ENCODE_SEQID_OP_TAIL to be a more proper macro, change all calling functions to return void.
-
- 31 Aug, 2003 1 commit
-
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> this patch fixes the share state sequenceid bookeeping. - increment the sequence id on an open that is confirmed - increment the sequence id on close
-
- 05 Aug, 2003 1 commit
-
-
Neil Brown authored
From: Galen Michael Elias <gme@citi.umich.edu> This patch fixes two places where the handling of page boundaries was incorrect and caused to IO_ERR's when it shouldn't have. 1. In decode_write it was just a small typo. 2. In decode_compound we avoid using READ_BUF, but don't provide all of it's functionality, specifically crosses a page boundary.
-
- 27 Jun, 2003 2 commits
-
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> Add the opendowngrade call with share state processing. it includes nfs4_preprocess_stateid_op() which will be used in read and write state processing.
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> Add OPEN_CONFIRM functionality to the nfsv4 server, including a preprocess_seqid_op function that will be used in subsequent patches.
-
- 20 Jun, 2003 1 commit
-
-
Andrew Morton authored
From: Peter Chubb <peter@chubb.wattle.id.au> Add two new system calls, statfs64 and fstatfs64. This has been needed sincew the 64-bit sector_t merge - the current structures will overflow. - Use a common interface (vfs_statfs) with the rest of the kernel, - convert to 32-bit at (f)statfs time. - New field f_frsize gives underlying fragment size for the filesystem. (Solaris has this, and the Open Group describe it). - The old statfs syscalls will now return -EOVERFLOW if the device was too large to be represented inthe old data structures. The new system calls take a size_t argument, which is the size of the structure to be filled in (as requested by Ben LaHaise), to `futureproof' the interface. Has been reviewed by the arch maintainers and by Ulrich Drepper.
-
- 17 Jun, 2003 2 commits
-
-
Neil Brown authored
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> When readdir is enumerating a directory and finds a mountpoint, it needs to do a bit of extra work to find the filehandle to be returned in the readdir reply. It is even possible that finding the filehandle requires an up-call, so the request might be dropped to be re-tried later.
-
- 20 May, 2003 1 commit
-
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> this is the first of several patches against 2.5 concerning NFSv4 state for nfsd. it cleans up the names of state structures in preperation for future share, lease, byte-range, and delegation patches. specifically, it 1) renames portions of the stateid_t and moves it along with the clientid_t from xdr.h into state.h 2) uses xdr_netobj to gather related data and length fields in struct nfs4_open (in xdr4.h) (e.g. we have op_fname.data and op_fname.len instead of op_name and op_namelen). 3) renames NFSD4_CLIENT_MAXNAME to NFS4_OPAQUE_LIMIT which will be used in other state fields (not just for name length)
-
- 08 Apr, 2003 1 commit
-
-
Alan Cox authored
-
- 27 Mar, 2003 3 commits
-
-
Neil Brown authored
encode_read: change 'len' variable from unsigned long to a long for '(len > 0)' comparison. don't set up a tail iovec for zero length reads.
-
Neil Brown authored
NFSv4 operations after WRITE are decoded into wr_vec[] pages, thus the argp->pagelen can be non-zero at the end of decoding the WRITE operation. This patch correctly sets argp->pagelen, and correctly advances argp->p after the WRITE operation
-
Neil Brown authored
Fix some misleading comments, and correct the test for requesting more than one page.
-
- 24 Feb, 2003 1 commit
-
-
Michael Hayes authored
This fixes: occured -> occurred Fixes 135 occurrences in all.
-
- 17 Feb, 2003 1 commit
-
-
Neil Brown authored
NFS replies can have a 'tail' after a 'data' component (for read, readlink, readdir). For nfsv2 and v3 this tail is in the same page as the head. For nfsv4, this tail is in a separate page. We need to keep track of which page so that it right one gets sent. This patch does that.
-
- 05 Jan, 2003 1 commit
-
-
Neil Brown authored
Assorted fixes particularly related to handling the new style xdr_buf buffers for NFSv4 server
-
- 01 Jan, 2003 1 commit
-
-
Christoph Hellwig authored
fs.h only needs the forward-declaration of struct statfs
-
- 22 Nov, 2002 2 commits
-
-
Neil Brown authored
This allows NFSv4 responses to cover move than one page. There are still limits though. There can be at most one 'data' response which includes READ, READLINK, READDIR. For these responses, the interesting data goes in a separate page or, for READ, list of pages. All responses before the 'data' response must fit in one page, and all responses after it must also fit in one (separate) page.
-
Neil Brown authored
Now that nfsd uses a list of pages for requests instead of one large buffer, NFSv4 need to know about this. The most interesting part of this is that it is possible that section of a request, like a path name, could span two pages, so we need to be able to kmalloc as little bit of space to copy them into, and make sure they get freed later.
-
- 17 Nov, 2002 1 commit
-
-
Andi Kleen authored
stat64 has been changed to return jiffies granuality as nsec in previously unused fields. This allows make to make better decisions on when to recompile a file. Follows losely the Solaris API. CURRENT_TIME has been redefined to return struct timespec. The users who don't use it in a inode/attr context have been changed to use a new get_seconds() function. CURRENT_TIME is implemented by an out-of-line function. There is a small performance penalty in this patch. The previous filemap code had an optimization to flush atime only once a second. This is currently gone, which will increase flushes a bit. I believe the correct solution if it should be a problem is to have per super block fields that give an arbitary atime flush granuality - so that you can set it to be only flushed once a hour if you prefer that. I will work on that later in separate patches if the need should arise. struct inode and the attr struct has been changed to store struct timespec instead of time_t for [cma]time. Not all file systems support this granuality, but some like XFS,NFSv3,CIFS,JFS do. The others will currently truncate the nsec part on flushing to disk. There was some discussion on this rounding on l-k previously. I went for simple truncation because there is not much evidence IMHO that the more complicated roundings have any advantages. In practice application will be rather unlikely to notice the rounding anyways - they can only see a difference when an inode is flush from memory and reloaded in less than a second, which is rather unlikely.
-
- 30 Oct, 2002 1 commit
-
-
Neil Brown authored
nfsd_readdir - the common readdir code for all version of nfsd, contains a number of version-specific things with appropriate checks, and also does some xdr-encoding which rightly belongs elsewhere. This patch simplifies nfsd_readdir to do just the core stuff, and moves the version specifics into version specific files, and the xdr encoding into xdr encoding files.
-
- 16 Oct, 2002 1 commit
-
-
Andy Adamson authored
This brings the linux-2.5.42 tree up to spec WRT setclientid and setclientid_confirm
-
- 11 Oct, 2002 1 commit
-
-
Neil Brown authored
Now that all the hooks are in place, this large patch imports all of the new code for the NFSv4 server. This patch makes almost no changes to the existing nfsd codebase (these have been taken care of by the preceding patches). One aspect of the NFSv4 code deserves comment. The most natural scheme for processing a COMPOUND request would seem to be: 1a. XDR decode phase, decode args of all operations 2a. processing phase, process all operations 3a. XDR encode phase, encode results of all operations However, we use a scheme which works as follows: 1b. XDR decode phase, decode args of all operations 2b. For each operation, process the operation encode the result To see what is wrong with the first scheme, consider a COMPOUND of the form READ REMOVE. Since the last bit of processing for the READ request occurs in XDR encode, we might discover in step 3a that the READ request should return an error. Therefore, the REMOVE request should not be processed at all. This is a fatal problem, since the REMOVE was already been done in step 2a! Another type of problem would occur in a COMPOUND of the form READ WRITE. Assume that both operations succeed. Under scheme (a), the WRITE is actually performed _before_ the READ (since the "real" READ is really done during XDR encode). This is certainly incorrect if the READ and WRITE ranges overlap. These examples might seem a little artificial, but nevertheless it does seem that in order to process a COMPOUND correctly in all cases, we need to use scheme (b) instead of scheme (a). (To construct less artificial examples, just substitute GETATTR for READ in the examples above. This works because the "real" GETATTR is done during XDR encode: one would really have to bend over backwards in order to arrange things otherwise.)
-