]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
udf: Fix loading of special inodes
authorJan Kara <jack@suse.cz>
Thu, 9 Oct 2014 10:52:16 +0000 (12:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Oct 2014 16:43:13 +0000 (09:43 -0700)
commit801c7a20d255e300ab51a6fcb1d0e218d136b16f
treeb43b8336f35ca29b8c1805d1d9d8cadb8c120727
parentaa9e8c556113ad1e91fa20012a8632dbc6633e6a
udf: Fix loading of special inodes

commit 6174c2eb8ecef271159bdcde460ce8af54d8f72f upstream.

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
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/udf/inode.c
fs/udf/super.c
fs/udf/udfdecl.h