浏览代码

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>
Chuck Lever 17 年之前
父节点
当前提交
b84e06c58f
共有 2 个文件被更改,包括 15 次插入2 次删除
  1. 10 2
      fs/nfs/dir.c
  2. 5 0
      fs/nfs/file.c

+ 10 - 2
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;
 }
 }
 
 

+ 5 - 0
fs/nfs/file.c

@@ -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;