From: OGAWA Hirofumi Date: Mon, 11 Jan 2010 18:32:24 +0000 (+0900) Subject: fat: Fix vfat_lookup() X-Git-Tag: v2.6.34-rc2~58^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8045e2985012bdb95d832dfbcceae1815880a6ed;p=pandora-kernel.git 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 --- Reading git-diff-tree failed