#
2aac05a9 |
| 07-Jul-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Fix readdir cache invalidation
invalidate_inode_pages2_range() takes page offset arguments, not byte ranges.
Another thought is that individual pages might perhaps get evicted by VM pressure,
NFS: Fix readdir cache invalidation
invalidate_inode_pages2_range() takes page offset arguments, not byte ranges.
Another thought is that individual pages might perhaps get evicted by VM pressure, in which case we might perhaps want to re-read not only the evicted page, but all subsequent pages too (in case the server returns more/less data per page so that the alignment of the next entry changes). We should therefore remove the condition that we only do this on page->index==0.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.26-rc4, v2.6.26-rc3, v2.6.26-rc2, v2.6.26-rc1 |
|
#
3110ff80 |
| 02-May-2008 |
Harvey Harrison <harvey.harrison@gmail.com> |
nfs: replace remaining __FUNCTION__ occurrences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no
nfs: replace remaining __FUNCTION__ occurrences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.25, v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4, v2.6.25-rc3 |
|
#
2c463e95 |
| 15-Feb-2008 |
Dave Hansen <haveblue@us.ibm.com> |
[PATCH] r/o bind mounts: check mnt instead of superblock directly
If we depend on the inodes for writeability, we will not catch the r/o mounts when implemented.
This patches uses __mnt_want_write(
[PATCH] r/o bind mounts: check mnt instead of superblock directly
If we depend on the inodes for writeability, we will not catch the r/o mounts when implemented.
This patches uses __mnt_want_write(). It does not guarantee that the mount will stay writeable after the check. But, this is OK for one of the checks because it is just for a printk().
The other two are probably unnecessary and duplicate existing checks in the VFS. This won't make them better checks than before, but it will make them detect r/o mounts.
Acked-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
show more ...
|
#
98a8e323 |
| 12-Mar-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
SUNRPC: Add a helper rpcauth_lookup_generic_cred()
The NFSv4 protocol allows clients to negotiate security protocols on the fly in the case where an administrator on the server changes the export se
SUNRPC: Add a helper rpcauth_lookup_generic_cred()
The NFSv4 protocol allows clients to negotiate security protocols on the fly in the case where an administrator on the server changes the export settings and/or in the case where we may have a filesystem migration event.
Instead of having the NFS client code cache credentials that are tied to a particular AUTH method it is therefore preferable to have a generic credential that can be converted into whatever AUTH is in use by the RPC client when the read/write/sillyrename/... is put on the wire.
We do this by means of the new "generic" credential, which basically just caches the minimal information that is needed to look up an RPCSEC_GSS, AUTH_SYS, or AUTH_NULL credential.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
4e99a1ff |
| 06-Mar-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings
As long as the directory contents haven't changed, we should just let the path walk proceed to cross the mountpoint. Apart f
NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings
As long as the directory contents haven't changed, we should just let the path walk proceed to cross the mountpoint. Apart from being an optimisation in the case of 'nohide' mountpoint traversals, it also fixes an issue with referrals: referral inodes don't have valid filehandles, so calling nfs_revalidate_inode() on them is a bug.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.25-rc2 |
|
#
25606656 |
| 12-Feb-2008 |
Jeff Layton <jlayton@redhat.com> |
NFS: remove error field from nfs_readdir_descriptor_t
The error field in nfs_readdir_descriptor_t is never used outside of the function in which it is set. Remove the field and change the place that
NFS: remove error field from nfs_readdir_descriptor_t
The error field in nfs_readdir_descriptor_t is never used outside of the function in which it is set. Remove the field and change the place that does use it to use an existing local variable.
Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.25-rc1 |
|
#
6f23e387 |
| 25-Jan-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Fix a potential race between umount and nfs_access_cache_shrinker()
Thanks to Yawei Niu for spotting the race.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
e6f81075 |
| 24-Jan-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode
Otherwise, there is a potential deadlock if the last dput() from an NFSv4 close() or other asynchronous operation leads to n
NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode
Otherwise, there is a potential deadlock if the last dput() from an NFSv4 close() or other asynchronous operation leads to nfs_clear_inode calling the synchronous delegreturn.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.24 |
|
#
3a10c30a |
| 23-Jan-2008 |
Benny Halevy <bhalevy@panasas.com> |
nfs: obliterate NFS_FLAGS macro
use NFS_I(inode)->flags instead
Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
Revision tags: v2.6.24-rc8, v2.6.24-rc7, v2.6.24-rc6, v2.6.24-rc5, v2.6.24-rc4, v2.6.24-rc3, v2.6.24-rc2, v2.6.24-rc1 |
|
#
bfc69a45 |
| 15-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: define a function to update nfsi->cache_change_attribute
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
77f11192 |
| 28-Jan-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Ensure that we eject stale inodes as soon as possible
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
d45b9d8b |
| 28-Jan-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Handle -ENOENT errors in unlink()/rmdir()/rename()
If the server returns an ENOENT error, we still need to do a d_delete() in order to ensure that the dentry is deleted.
Signed-off-by: Trond M
NFS: Handle -ENOENT errors in unlink()/rmdir()/rename()
If the server returns an ENOENT error, we still need to do a d_delete() in order to ensure that the dentry is deleted.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
fccca7fc |
| 26-Jan-2008 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Fix a sillyrename race...
Ensure that readdir revalidates its data cache after blocking on sillyrename.
Also fix a typo in nfs_do_call_unlink(): swap the ^= for an |=. The result is the same,
NFS: Fix a sillyrename race...
Ensure that readdir revalidates its data cache after blocking on sillyrename.
Also fix a typo in nfs_do_call_unlink(): swap the ^= for an |=. The result is the same, since we've already checked that the flag is unset, but it makes the code more readable.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
4c30d56e |
| 21-Nov-2007 |
Adrian Bunk <bunk@kernel.org> |
NFS: fs/nfs/dir.c should #include "internal.h"
Every file should include the headers containing the prototypes for its global functions (in this case nfs_access_cache_shrinker()).
Signed-off-by: Ad
NFS: fs/nfs/dir.c should #include "internal.h"
Every file should include the headers containing the prototypes for its global functions (in this case nfs_access_cache_shrinker()).
Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
565277f6 |
| 15-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Fix a race in sillyrename
lookup() and sillyrename() can race one another because the sillyrename() completion cannot take the parent directory's inode->i_mutex since the latter may be held by
NFS: Fix a race in sillyrename
lookup() and sillyrename() can race one another because the sillyrename() completion cannot take the parent directory's inode->i_mutex since the latter may be held by whoever is calling dput().
We therefore have little option but to add extra locking to ensure that nfs_lookup() and nfs_atomic_open() do not race with the sillyrename completion. If somebody has looked up the sillyrenamed file in the meantime, we just transfer the sillydelete information to the new dentry.
Please refer to the bug-report at http://bugzilla.linux-nfs.org/show_bug.cgi?id=150
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.23 |
|
#
f43bf0be |
| 09-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Add a boot parameter to disable 64 bit inode numbers
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
NFS: Add a boot parameter to disable 64 bit inode numbers
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 <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v2.6.23-rc9 |
|
#
c7c20973 |
| 28-Sep-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Get rid of some obsolete macros
- NFS_READTIME, NFS_CHANGE_ATTR are completely unused. - Inline the few remaining uses of NFS_ATTRTIMEO, and remove.
Signed-off-by: Trond Myklebust <Trond.Mykle
NFS: Get rid of some obsolete macros
- NFS_READTIME, NFS_CHANGE_ATTR are completely unused. - Inline the few remaining uses of NFS_ATTRTIMEO, and remove.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
4f48af45 |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Simplify filehandle revalidation
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
9697d234 |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Ensure that nfs_link() returns a hashed dentry
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
a12802ca |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Be strict about dentry revalidation when doing exclusive create
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
b050aa79 |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Don't zap the readdir caches upon error
If necessary, the caches will get zapped under normal revalidation.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
efbb06b7 |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Remove the redundant nfs_reval_fsid()
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
d75340cc |
| 01-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4: Fix nfs_atomic_open() to set the verifier on negative dentries too
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
216d5d06 |
| 01-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalidate
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
0a5ebc14 |
| 02-Oct-2007 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4: Don't revalidate the directory in nfs_atomic_lookup()
Why bother, since the call to nfs4_atomic_open() will do it for us.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|