Skip to contentSkip to conversation

Review request for fatfs-2.6.git

PATCH New OGAWA Hirofumi 1 participant 4 messages Dec 27, 2008

Subsystems (2)
lore
Share & tools
lore

OGAWA Hirofumi

author maintainer
#0 lore raw

PATCH 1/1 Review request for fatfs-2.6.git

The following patches was added to

git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6.git

recently, and are going to merge at next window. Please review.

Christoph Hellwig (1):
fat: make sure to set d_ops in fat_get_parent

OGAWA Hirofumi (2):
fat: drop negative dentry on rename() path
fat: fix duplicate addition of ->llseek handler

 fs/fat/dir.c        |    1 -
 fs/fat/inode.c      |    2 ++
 fs/fat/namei_vfat.c |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
author maintainer
#1 lore raw

PATCH 1/1 fat: drop negative dentry on rename() path

Drop the negative dentry on rename() path, in order to make sure to use the case sensitive name which is specified by user if this is for creation.

For it, this uses newly added LOOKUP_RENAME_TARGET like LOOKUP_CREATE.

---
 fs/fat/namei_vfat.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
fs/fat/namei_vfat.c +1 -1
index bf326d4..8ae32e3 100644
@@ -78,7 +78,7 @@ static int vfat_revalidate_ci(struct dentry *dentry, struct nameidata *nd)
 	 * for creation.
 	 */
 	if (!(nd->flags & (LOOKUP_CONTINUE | LOOKUP_PARENT))) {
-		if (nd->flags & LOOKUP_CREATE)
+		if (nd->flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET))
 			return 0;
 	}
 
Signature · 1 line
1.6.0.5.dirty
author maintainer
#2 lore raw

PATCH 1/1 fat: fix duplicate addition of ->llseek handler

---
 fs/fat/dir.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
fs/fat/dir.c +0 -1
index 67e0583..3a7f603 100644
@@ -841,7 +841,6 @@ const struct file_operations fat_dir_operations = {
 	.compat_ioctl	= fat_compat_dir_ioctl,
 #endif
 	.fsync		= file_fsync,
-	.llseek		= generic_file_llseek,
 };
 
 static int fat_get_short_entry(struct inode *dir, loff_t *pos,
Signature · 1 line
1.6.0.5.dirty
author maintainer
#3 lore raw

PATCH 1/1 fat: make sure to set d_ops in fat_get_parent

From: Christoph Hellwig <[email protected]>

fat_get_parent needs to setup the dentry operations, otherwise we might lose them when the NFS server needs to reconnect out of cache inodes.

---
 fs/fat/inode.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
fs/fat/inode.c +2 -0
index bdd8fb7..37a8af1 100644
@@ -749,6 +749,8 @@ static struct dentry *fat_get_parent(struct dentry *child)
 	brelse(bh);
 
 	parent = d_obtain_alias(inode);
+	if (!IS_ERR(parent))
+		parent->d_op = sb->s_root->d_op;
 out:
 	unlock_super(sb);
 
Signature · 1 line
1.6.0.5.dirty