fat: drop negative dentry on rename() path
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Tue, 11 Nov 2008 22:48:00 +0000 (07:48 +0900)
committerOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Tue, 11 Nov 2008 23:51:22 +0000 (08:51 +0900)
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.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
fs/fat/namei_vfat.c

index bf326d4..8ae32e3 100644 (file)
@@ -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;
        }