NFS: Remove BKL from the readdir code
Page accesses are serialised using the page locks, whereas all attribute updates are serialised using the inode->i_lock. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
76566991f9
commit
c3cc8c019c
|
@ -534,8 +534,6 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||||
(long long)filp->f_pos);
|
(long long)filp->f_pos);
|
||||||
nfs_inc_stats(inode, NFSIOS_VFSGETDENTS);
|
nfs_inc_stats(inode, NFSIOS_VFSGETDENTS);
|
||||||
|
|
||||||
lock_kernel();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* filp->f_pos points to the dirent entry number.
|
* filp->f_pos points to the dirent entry number.
|
||||||
* *desc->dir_cookie has the cookie for the next entry. We have
|
* *desc->dir_cookie has the cookie for the next entry. We have
|
||||||
|
@ -593,7 +591,6 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
nfs_unblock_sillyrename(dentry);
|
nfs_unblock_sillyrename(dentry);
|
||||||
unlock_kernel();
|
|
||||||
if (res > 0)
|
if (res > 0)
|
||||||
res = 0;
|
res = 0;
|
||||||
dfprintk(FILE, "NFS: readdir(%s/%s) returns %ld\n",
|
dfprintk(FILE, "NFS: readdir(%s/%s) returns %ld\n",
|
||||||
|
|
Loading…
Reference in New Issue