Merge tag 'nfs-for-5.10-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
[linux-2.6-microblaze.git] / fs / nfs / dir.c
index cb52db9..4e011ad 100644 (file)
@@ -955,7 +955,6 @@ out:
 
 static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int whence)
 {
-       struct inode *inode = file_inode(filp);
        struct nfs_open_dir_context *dir_ctx = filp->private_data;
 
        dfprintk(FILE, "NFS: llseek dir(%pD2, %lld, %d)\n",
@@ -967,15 +966,15 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int whence)
        case SEEK_SET:
                if (offset < 0)
                        return -EINVAL;
-               inode_lock(inode);
+               spin_lock(&filp->f_lock);
                break;
        case SEEK_CUR:
                if (offset == 0)
                        return filp->f_pos;
-               inode_lock(inode);
+               spin_lock(&filp->f_lock);
                offset += filp->f_pos;
                if (offset < 0) {
-                       inode_unlock(inode);
+                       spin_unlock(&filp->f_lock);
                        return -EINVAL;
                }
        }
@@ -987,7 +986,7 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int whence)
                        dir_ctx->dir_cookie = 0;
                dir_ctx->duped = 0;
        }
-       inode_unlock(inode);
+       spin_unlock(&filp->f_lock);
        return offset;
 }
 
@@ -998,13 +997,9 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int whence)
 static int nfs_fsync_dir(struct file *filp, loff_t start, loff_t end,
                         int datasync)
 {
-       struct inode *inode = file_inode(filp);
-
        dfprintk(FILE, "NFS: fsync dir(%pD2) datasync %d\n", filp, datasync);
 
-       inode_lock(inode);
-       nfs_inc_stats(inode, NFSIOS_VFSFSYNC);
-       inode_unlock(inode);
+       nfs_inc_stats(file_inode(filp), NFSIOS_VFSFSYNC);
        return 0;
 }