- 26 Feb, 2004 40 commits
-
-
Andrew Morton authored
From: Rusty Russell <rusty@au1.ibm.com> The way it works is that the .mod file contains the name of the module (as before), but succeeding lines are the constituent parts (assumed to be .c files, which usually works: if they use MODULE_VERSION in a file for which this isn't true we'll get a warning). As we postprocess modules, we look in the .modinfo section for a "version=", which is placed by the MODULE_VERSION() macro. This will be of form "version=<macroarg>" "\0" [24 chars] "\0". The 24 chars are replaced by the md4 sum of the .c files and any files they #include using '#include "file"' which are found in the current directory. Whitespace is collapsed outside strings, and comments are ignored for purposes of the sum. The result is a .modinfo entry such as version=1.16ac-rustytest B13E9451C4CA3B89577DEFF At the kernel summit, various people asked for a MODULE_VERSION macro to store module strings (for later access through sysfs). A simple md4 is needed to identify changes in modules which, inevitably, do not update the version. It skips whitespace and comments, and includes #includes which are in the same dir. The module versions should be set according to this definition, based on the RPM one, or CVS Revision tags. Violators will be shot. [<epoch>`:']<version>[`-'<extraversion>] <epoch>: A (small) unsigned integer which allows you to start versions anew. If not mentioned, it's zero. eg. "2:1.0" is after "1:2.0". <version>: The <version> may contain only alphanumerics. <extraversion>: Like <version>, but inserted for local customizations, eg "rh3" or "rusty1". Comparison of two versions (assuming same epoch): Split each into all-digit and all-alphabetical parts. Compare each one one at a time: digit parts numerically, alphabetical in ASCII order. So 0.10 comes after 0.9.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> From: Bruce Allan <bwa@us.ibm.com> This requires checking if the entry will fit in the current page and, if it doesn't, encoding it into the next page, and then copying it back to lie across the boundary between two pages.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> make sure sunrpc init routines called before gss init routines.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Don't rely on the assumption that sizeof(stateid_t) == sizeof(stateid_opaque_t) + 4.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Fix out-of-spec error return in attribute decoding.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Save replays for LOCK operations, make sure errors are replayed correctly.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Fix an out-of-spec error in nfsd4_remove.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Fix an out-of-spec readlink error return.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> The spec requires that the access and deny bits requested in open_downgrade represent the union of the bits for some subset of the OPENS for the given open_owner and file. Enforce that requirement.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Corrects an error return for OP_OPEN_CONFIRM.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> owned by the lockowner clientid.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> fix an error return for OP_CREATE
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> add OP_ILLEGAL, and fix processing of compounds with out of bounds op numbers.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Implement the nfsv4 RELEASE_LOCKOWNER operation.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> fh_dup2 duplicates an entire svc_fh structure, so in addition to dget()'ing the dentry, it also needs to bump the reference count on fh_export. Moved it out of the header file into nfsfh.c for the simple reason that I couldn't figure out how to reorganize the headers files right so that the fh_dup2 could use the definition of svc_fh. Since fh_dup2 is never actually used outside of nfs4proc.c, it could just as well be moved there....
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Remove a comment that is no longer accurate
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> add the bookeeping necessary to remove all locks held by an nfsv4 lockowner upon CLOSE, or upon state expiration. calls locks_remove_posix(). replace list_del_init() with list_del on nfsv4 state structures that are being reaped.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> unlike v2/v3, nfsv4 returns nfserr_exist in some situations where the underlying filesystem returns nfserr_isdir, nfserr_notdir. on rename, nfsv4 returns nfserr_notdir instead of nfserr_symlink.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> check lock length, return appropriate error
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> unlike v2/v3, nfsv4 returns nfserr_inval when attempting to read, write, commit or test lock a symlink. nfsv4 does return nfserr_symlink on lookup and open, so a simple fix in fh_verify() will not work.
-
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> tests if current_fh is the pseudo root for the client and returns nfserr_noent if so. need to call exp_pseudoroot because different clients can have
-
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
[PATCH] kNFSd: When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead. From: NeilBrown <neilb@cse.unsw.edu.au> When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead.
-
Andrew Morton authored
[PATCH] kNFSd: Use only the uid when deciding whether a setclientid is being done with the "same principal". From: NeilBrown <neilb@cse.unsw.edu.au> I would have assumed that we should also check for the same security (pseudo)flavor, but that doesn't seem to be how Solaris does it, and since the spec doesn't suggest including such information in the clientid, that would make it impossible to switch pseudoflavors.
-
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
[PATCH] kNFSd: When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead. From: NeilBrown <neilb@cse.unsw.edu.au> When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead.
-
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> Exclusive creates were failing with permission errors, because they don't set the mode on the newly created file, and the permission check in fh_verify (called at the end of do_open_lookup) was failing. So pass in the MAY_OWNER_OVERRIDE flag to allow the owner of the file to override the permission check.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> It's OK for the find_lockstateowner_str to fail; that just means we haven't seen the lockowner, and will compare the request range to all locks on the file.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> From: "William A.(Andy) Adamson" <andros@citi.umich.edu> Compare inode pointers instead of dentry pointers when checking an inode refered to by a stateid against an inode refered to by a file handle. Set st_vfs_set to 0 if the stateid/file handle check fails to avoid referencing bad state when reaping stateid's.
-
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.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> Doesn't actually add integrity support on the server yet; just adapts server-side code to the gss api changes necessary to get integrity working on the client.
-
Andrew Morton authored
From: NeilBrown <neilb@cse.unsw.edu.au> From: "J. Bruce Fields" <bfields@fieldses.org> Note that the user (or exportfs, on the user's behalf) allows a gss pseudoflavor to be used to access an export by exporting to a special client named "gss/pseudoflavor-name", e.g., "gss/krb5" or "gss/lipkey-i".
-
Andrew Morton authored
From: Neil Brown <neilb@cse.unsw.edu.au> Make sure nfsd doesn't modify group_info structures as they might be shared.
-
Andrew Morton authored
From: Neil Brown <neilb@cse.unsw.edu.au> Tidy up new groups handling in nfsd. Set up the group_info structure when decoding the RPC packet instead of in nfsd.
-
Andrew Morton authored
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> ppc64 uses its own range allocator for ioremap (in order to allocate things in a different space than normal vmalloc). This is historic stuff, we may get rid of it, but in the meantime, here's a patch turning the spinlock in there into a semaphore so it doesn't blow up when doing kmallocs.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> From: Stephen Rothwell <sfr@canb.auug.org.au> This moves the sg_dma_* macros to asm/scatterlist.h where they belong (and where almost every other architecture has them).
-