summaryrefslogtreecommitdiffstats
path: root/fs/udf/udf_sb.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2010-10-20 22:17:28 +0200
committerJan Kara <jack@suse.cz>2011-01-06 17:03:55 +0100
commitc03cad241af63445b751781a09faf08b3a5b77c1 (patch)
tree2e6f329259d442c23829c218a21977bbd6a5d248 /fs/udf/udf_sb.h
parent949f4a7c08bc4a050eae7aeeac3e6d019d1feafb (diff)
downloadlinux-c03cad241af63445b751781a09faf08b3a5b77c1.tar.gz
linux-c03cad241af63445b751781a09faf08b3a5b77c1.tar.bz2
linux-c03cad241af63445b751781a09faf08b3a5b77c1.zip
udf: Protect default inode credentials by rwlock
Superblock carries credentials (uid, gid, etc.) which are used as default values in __udf_read_inode() when media does not provide these. These credentials can change during remount so we protect them by a rwlock so that each inode gets a consistent set of credentials. Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/udf_sb.h')
-rw-r--r--fs/udf/udf_sb.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/udf/udf_sb.h b/fs/udf/udf_sb.h
index 9f38a6ca4fd5..4858c191242b 100644
--- a/fs/udf/udf_sb.h
+++ b/fs/udf/udf_sb.h
@@ -129,6 +129,8 @@ struct udf_sb_info {
uid_t s_uid;
mode_t s_fmode;
mode_t s_dmode;
+ /* Lock protecting consistency of above permission settings */
+ rwlock_t s_cred_lock;
/* Root Info */
struct timespec s_record_time;