NFS: Make nfs_llseek methods consistent
Clean up: Report the same debugging info in nfs_llseek_dir() and nfs_llseek_file(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
549177863b
commit
b84e06c58f
2 changed files with 15 additions and 2 deletions
12
fs/nfs/dir.c
12
fs/nfs/dir.c
|
@ -603,7 +603,15 @@ out:
|
||||||
|
|
||||||
static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
||||||
{
|
{
|
||||||
mutex_lock(&filp->f_path.dentry->d_inode->i_mutex);
|
struct dentry *dentry = filp->f_path.dentry;
|
||||||
|
struct inode *inode = dentry->d_inode;
|
||||||
|
|
||||||
|
dfprintk(VFS, "NFS: llseek dir(%s/%s, %lld, %d)\n",
|
||||||
|
dentry->d_parent->d_name.name,
|
||||||
|
dentry->d_name.name,
|
||||||
|
offset, origin);
|
||||||
|
|
||||||
|
mutex_lock(&inode->i_mutex);
|
||||||
switch (origin) {
|
switch (origin) {
|
||||||
case 1:
|
case 1:
|
||||||
offset += filp->f_pos;
|
offset += filp->f_pos;
|
||||||
|
@ -619,7 +627,7 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
||||||
nfs_file_open_context(filp)->dir_cookie = 0;
|
nfs_file_open_context(filp)->dir_cookie = 0;
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&filp->f_path.dentry->d_inode->i_mutex);
|
mutex_unlock(&inode->i_mutex);
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,6 +170,11 @@ force_reval:
|
||||||
|
|
||||||
static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
|
static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
|
||||||
{
|
{
|
||||||
|
dfprintk(VFS, "NFS: llseek file(%s/%s, %lld, %d)\n",
|
||||||
|
filp->f_path.dentry->d_parent->d_name.name,
|
||||||
|
filp->f_path.dentry->d_name.name,
|
||||||
|
offset, origin);
|
||||||
|
|
||||||
/* origin == SEEK_END => we must revalidate the cached file length */
|
/* origin == SEEK_END => we must revalidate the cached file length */
|
||||||
if (origin == SEEK_END) {
|
if (origin == SEEK_END) {
|
||||||
struct inode *inode = filp->f_mapping->host;
|
struct inode *inode = filp->f_mapping->host;
|
||||||
|
|
Loading…
Add table
Reference in a new issue