kernel-ark/fs/fat
OGAWA Hirofumi 1b52467243 fat: Fix/Cleanup dcache handling for vfat
- Add comments for handling dcache of vfat.

- Separate case-sensitive case and case-insensitive to
  vfat_revalidate() and vfat_ci_revalidate().

  vfat_revalidate() doesn't need to drop case-insensitive negative
  dentry on creation path.

- Current code is missing to set ->d_revalidate to the negative dentry
  created by unlink/etc..

  This sets ->d_revalidate always, and returns 1 for positive
  dentry. Now, we don't need to change ->d_op dynamically anymore,
  so this just uses sb->s_root->d_op to set ->d_op.

- d_find_alias() may return DCACHE_DISCONNECTED dentry. It's not
  the interesting dentry there. This checks it.

- Add missing LOOKUP_PARENT check. We don't need to drop the valid
  negative dentry for (LOOKUP_CREATE | LOOKUP_PARENT) lookup.

- For consistent filename on creation path, this drops negative dentry
  if we can't see intent.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-06 15:41:21 -08:00
..
cache.c fat: split include/msdos_fs.h 2008-11-06 15:41:20 -08:00
dir.c fat: cleanup fat_parse_long() error handling 2008-11-06 15:41:20 -08:00
fat.h fat: improve fat_hash() 2008-11-06 15:41:20 -08:00
fatent.c fat: Fix fat_ent_update_ptr() for FAT12 2008-11-06 15:41:20 -08:00
file.c fat: split include/msdos_fs.h 2008-11-06 15:41:20 -08:00
inode.c fat: use fat_detach() in fat_clear_inode() 2008-11-06 15:41:20 -08:00
Makefile fat: move fs/vfat/* and fs/msdos/* to fs/fat 2008-11-06 15:41:20 -08:00
misc.c fat: Fix and cleanup timestamp conversion 2008-11-06 15:41:20 -08:00
namei_msdos.c fat: Fix and cleanup timestamp conversion 2008-11-06 15:41:20 -08:00
namei_vfat.c fat: Fix/Cleanup dcache handling for vfat 2008-11-06 15:41:21 -08:00