summaryrefslogtreecommitdiff
path: root/fs/udf/udf_i.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2023-01-03 11:56:56 +0300
committerJan Kara <jack@suse.cz>2023-01-09 12:39:53 +0300
commitfc8033a34a3ca7d23353e645e6dde5d364ac5f12 (patch)
treef17c77c027e1a97b04e07d6167d6a707a2b9b5ba /fs/udf/udf_i.h
parent256fe4162f8b5a1625b8603ca5f7ff79725bfb47 (diff)
downloadlinux-fc8033a34a3ca7d23353e645e6dde5d364ac5f12.tar.xz
udf: Preserve link count of system files
System files in UDF filesystem have link count 0. To not confuse VFS we fudge the link count to be 1 when reading such inodes however we forget to restore the link count of 0 when writing such inodes. Fix that. CC: stable@vger.kernel.org Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/udf_i.h')
-rw-r--r--fs/udf/udf_i.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/udf/udf_i.h b/fs/udf/udf_i.h
index 06ff7006b822..312b7c9ef10e 100644
--- a/fs/udf/udf_i.h
+++ b/fs/udf/udf_i.h
@@ -44,7 +44,8 @@ struct udf_inode_info {
unsigned i_use : 1; /* unallocSpaceEntry */
unsigned i_strat4096 : 1;
unsigned i_streamdir : 1;
- unsigned reserved : 25;
+ unsigned i_hidden : 1; /* hidden system inode */
+ unsigned reserved : 24;
__u8 *i_data;
struct kernel_lb_addr i_locStreamdir;
__u64 i_lenStreams;