17 Oct, 2007
1 commit
-
[akpm@linux-foundation.org: fix against git-nfs]
[peterz@infradead.org: fix against git-nfs]
Signed-off-by: Nick Piggin
Acked-by: Trond Myklebust
Cc: "J. Bruce Fields"
Cc: Peter Zijlstra
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
16 Oct, 2007
1 commit
-
* 'locks' of git://linux-nfs.org/~bfields/linux:
nfsd: remove IS_ISMNDLCK macro
Rework /proc/locks via seq_files and seq_list helpers
fs/locks.c: use list_for_each_entry() instead of list_for_each()
NFS: clean up explicit check for mandatory locks
AFS: clean up explicit check for mandatory locks
9PFS: clean up explicit check for mandatory locks
GFS2: clean up explicit check for mandatory locks
Cleanup macros for distinguishing mandatory locks
Documentation: move locks.txt in filesystems/
locks: add warning about mandatory locking races
Documentation: move mandatory locking documentation to filesystems/
locks: Fix potential OOPS in generic_setlease()
Use list_first_entry in locks_wake_up_blocks
locks: fix flock_lock_file() comment
Memory shortage can result in inconsistent flocks state
locks: kill redundant local variable
locks: reverse order of posix_locks_conflict() arguments
12 Oct, 2007
1 commit
-
We were intending to put the previous instance of delegation->cred
before setting a new one.Thanks to David Howells for spotting this.
Signed-off-by: Trond Myklebust
10 Oct, 2007
37 commits
-
The __mandatory_lock(inode) macro makes the same check, but makes the code
more readable.Signed-off-by: Pavel Emelyanov
Cc: Trond Myklebust
Cc: "J. Bruce Fields"
Signed-off-by: Andrew Morton -
This boot parameter will allow legacy 32-bit applications which call stat()
to continue to function even if the NFSv3/v4 server uses 64-bit inode
numbers.Signed-off-by: Trond Myklebust
-
If the cached attributes match the ones supplied in the fattr, then assume
we've revalidated the inode.Signed-off-by: Trond Myklebust
-
We're failing basic test6 against Linux servers because they lack a correct
change attribute. The fix is to assume that we always want to invalidate
the readdir caches when we call update_changeattr and/or
nfs_post_op_update_inode on a directory.Signed-off-by: Trond Myklebust
-
nfs_post_op_update_inode() is really only meant to be used if we expect the
inode and its attributes to have changed in some way.Signed-off-by: Trond Myklebust
-
- NFS_READTIME, NFS_CHANGE_ATTR are completely unused.
- Inline the few remaining uses of NFS_ATTRTIMEO, and remove.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
If necessary, the caches will get zapped under normal revalidation.
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
LOOKUP returns the directory post-op attributes whether or not the
operation was successful.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Why bother, since the call to nfs4_atomic_open() will do it for us.
Signed-off-by: Trond Myklebust
-
We don't need to call nfs_revalidate_inode() on the directory if we already
know that the verifiers don't match.Signed-off-by: Trond Myklebust
-
Otherwise set it to nfsi->read_cache_jiffies in order to prevent jiffy
wraparound issues.Signed-off-by: Trond Myklebust
-
The lower level routines in fs/nfs/proc.c, fs/nfs/nfs3proc.c and
fs/nfs/nfs4proc.c should already be dealing with the revalidation issues.Signed-off-by: Trond Myklebust
-
We have no more users...
Signed-off-by: Trond Myklebust
-
The fact that we're in the process of modifying the inode does not mean
that we should not invalidate the attribute and data caches. The defensive
thing is to always invalidate when we're confronted with inode
mtime/ctime or change_attribute updates that we do not immediately
recognise.Signed-off-by: Trond Myklebust
-
The parent of the newly materialised dentry has just been revalidated...
Signed-off-by: Trond Myklebust
-
If the ->lookup() call causes the directory verifier to change, then there
is still no need to use the old verifier, since our dentry has been
verified.Signed-off-by: Trond Myklebust
-
If nfs_post_op_update_inode fails because the server didn't return any
attributes, then we let the subsequent inode revalidation update
cache_change_attribute.Signed-off-by: Trond Myklebust
-
We only need to look at the mtime changes...
Signed-off-by: Trond Myklebust
-
The attribute revalidation code will already have taken care of resetting
nfsi->cache_change_attribute.Signed-off-by: Trond Myklebust
-
We want to set the verifier when the call to nfs4_open_revalidate()
_succeeds_.Signed-off-by: Trond Myklebust
-
We don't want to leave an unverified hashed negative dentry if the
exclusive create fails to complete.Signed-off-by: Trond Myklebust
-
That will also allow us to remove the calls in mknod and mkdir.
In addition it will ensure that symlinks set it correctly.Signed-off-by: Trond Myklebust
-
Also ensure that it drops the dentry in this case.
Signed-off-by: Trond Myklebust
-
We don't care about whether or not some other process on our client is
changing the directory while we're in nfs_lookup_revalidate(), because the
dcache will take care of ensuring local atomicity.
We can therefore remove the test for nfs_caches_unstable().Signed-off-by: Trond Myklebust
-
NFSv2 and v4 don't offer weak cache consistency attributes on WRITE calls.
In NFSv3, returning wcc data is optional. In all cases, we want to prevent
the client from invalidating our cached data whenever ->write_done()
attempts to update the inode attributes.Signed-off-by: Trond Myklebust
-
Remove the bogus 'data_stable' check in nfs_update_inode. The
cache_change_attribute tells you if the directory changed on the server,
and should have nothing to do with the file length.Signed-off-by: Trond Myklebust
-
For one thing, the test NFS_ATTRTIMEO() == 0 makes no sense: we're
testing whether or not the cache timeout length is zero, which is totally
unrelated to the issue of whether or not we trust the file staleness.Secondly, we do not want to retry the GETATTR once a file has been declared
stale by the server: we rather want to discard that inode as soon as
possible, since there are broken servers still in use out there that reuse
filehandles on new files.Signed-off-by: Trond Myklebust
-
NFSv3 will correctly update atime on a read() call, so there is no need to
set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode()
fails.Signed-off-by: Trond Myklebust
-
NFSv3 will correctly update atime on a readdir call, so there is no need to
set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode()
fails.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
In NFSv4 we should only be looking at the change attribute.
Signed-off-by: Trond Myklebust