udf: Fix loading of special inodes
authorJan Kara <jack@suse.cz>
Thu, 9 Oct 2014 10:52:16 +0000 (12:52 +0200)
committerJan Kara <jack@suse.cz>
Thu, 9 Oct 2014 11:06:14 +0000 (13:06 +0200)
commit6174c2eb8ecef271159bdcde460ce8af54d8f72f
treefc00824fdd8231ac9ee32714fc86493149af29d1
parentc53f755d339b5546600c316333140d5fe958941d
udf: Fix loading of special inodes

Some UDF media have special inodes (like VAT or metadata partition
inodes) whose link_count is 0. Thus commit 4071b9136223 (udf: Properly
detect stale inodes) broke loading these inodes because udf_iget()
started returning -ESTALE for them. Since we still need to properly
detect stale inodes queried by NFS, create two variants of udf_iget() -
one which is used for looking up special inodes (which ignores
link_count == 0) and one which is used for other cases which return
ESTALE when link_count == 0.

Fixes: 4071b913622316970d0e1919f7d82b4403fec5f2
CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/inode.c
fs/udf/super.c
fs/udf/udfdecl.h