linux_dsm_epyc7002/fs/fat
OGAWA Hirofumi 8045e29850 fat: Fix vfat_lookup()
After d_find_alias(), vfat_lookup() checks !(->d_flags & DCACHE_DISCONNECTED)
without IS_ROOT().  This means it hits non-anonymous but disconnected
dentry. (NOTE: d_splice_alias() doesn't clear DCACHE_DISCONNECTED)

But, vfat_lookup() has interest to alias if it was non-anonymous. So,
this adds vfat_d_anon_disconn() helper to check it correctly.

Another bug is refcnt leak. It needs dput() for uninterested alias.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
2010-01-12 03:47:25 +09:00
..
cache.c FAT: add 'errors' mount option 2009-06-04 02:34:51 +09:00
dir.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
fat.h fat: make discard a mount option 2009-11-21 20:36:52 +09:00
fatent.c fat: make discard a mount option 2009-11-21 20:36:52 +09:00
file.c fat: Opencode sync_page_range_nolock() 2009-09-14 17:08:17 +02:00
inode.c fat: make discard a mount option 2009-11-21 20:36:52 +09:00
Kconfig vfat: Note the NLS requirement 2009-04-17 09:32:11 -07:00
Makefile fat: move fs/vfat/* and fs/msdos/* to fs/fat 2008-11-06 15:41:20 -08:00
misc.c fatfs: use common time_to_tm in fat_time_unix2fat() 2009-12-16 07:20:06 -08:00
namei_msdos.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
namei_vfat.c fat: Fix vfat_lookup() 2010-01-12 03:47:25 +09:00