aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf/super.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 21:54:01 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 21:54:01 -0400
commit0f0d12728e56c94d3289c6831243b6faeae8a19d (patch)
treebd52fd4ed6fba2a0d8bb95e7fc33f51ac299001d /fs/udf/super.c
parent581bfce969cbfc7ce43ee92273be9cb7c3fdfa61 (diff)
parente462ec50cb5fad19f6003a3d8087f4a0945dd2b1 (diff)
Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull mount flag updates from Al Viro: "Another chunk of fmount preparations from dhowells; only trivial conflicts for that part. It separates MS_... bits (very grotty mount(2) ABI) from the struct super_block ->s_flags (kernel-internal, only a small subset of MS_... stuff). This does *not* convert the filesystems to new constants; only the infrastructure is done here. The next step in that series is where the conflicts would be; that's the conversion of filesystems. It's purely mechanical and it's better done after the merge, so if you could run something like list=$(for i in MS_RDONLY MS_NOSUID MS_NODEV MS_NOEXEC MS_SYNCHRONOUS MS_MANDLOCK MS_DIRSYNC MS_NOATIME MS_NODIRATIME MS_SILENT MS_POSIXACL MS_KERNMOUNT MS_I_VERSION MS_LAZYTIME; do git grep -l $i fs drivers/staging/lustre drivers/mtd ipc mm include/linux; done|sort|uniq|grep -v '^fs/namespace.c$') sed -i -e 's/\<MS_RDONLY\>/SB_RDONLY/g' \ -e 's/\<MS_NOSUID\>/SB_NOSUID/g' \ -e 's/\<MS_NODEV\>/SB_NODEV/g' \ -e 's/\<MS_NOEXEC\>/SB_NOEXEC/g' \ -e 's/\<MS_SYNCHRONOUS\>/SB_SYNCHRONOUS/g' \ -e 's/\<MS_MANDLOCK\>/SB_MANDLOCK/g' \ -e 's/\<MS_DIRSYNC\>/SB_DIRSYNC/g' \ -e 's/\<MS_NOATIME\>/SB_NOATIME/g' \ -e 's/\<MS_NODIRATIME\>/SB_NODIRATIME/g' \ -e 's/\<MS_SILENT\>/SB_SILENT/g' \ -e 's/\<MS_POSIXACL\>/SB_POSIXACL/g' \ -e 's/\<MS_KERNMOUNT\>/SB_KERNMOUNT/g' \ -e 's/\<MS_I_VERSION\>/SB_I_VERSION/g' \ -e 's/\<MS_LAZYTIME\>/SB_LAZYTIME/g' \ $list and commit it with something along the lines of 'convert filesystems away from use of MS_... constants' as commit message, it would save a quite a bit of headache next cycle" * 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: VFS: Differentiate mount flags (MS_*) from internal superblock flags VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb) vfs: Add sb_rdonly(sb) to query the MS_RDONLY flag on s_flags
Diffstat (limited to 'fs/udf/super.c')
-rw-r--r--fs/udf/super.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 93c59630512b..99cb81d0077f 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -673,7 +673,7 @@ static int udf_remount_fs(struct super_block *sb, int *flags, char *options)
673 sbi->s_dmode = uopt.dmode; 673 sbi->s_dmode = uopt.dmode;
674 write_unlock(&sbi->s_cred_lock); 674 write_unlock(&sbi->s_cred_lock);
675 675
676 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) 676 if ((bool)(*flags & MS_RDONLY) == sb_rdonly(sb))
677 goto out_unlock; 677 goto out_unlock;
678 678
679 if (*flags & MS_RDONLY) 679 if (*flags & MS_RDONLY)
@@ -1017,7 +1017,7 @@ static int udf_load_metadata_files(struct super_block *sb, int partition,
1017 1017
1018 fe = udf_iget_special(sb, &addr); 1018 fe = udf_iget_special(sb, &addr);
1019 if (IS_ERR(fe)) { 1019 if (IS_ERR(fe)) {
1020 if (sb->s_flags & MS_RDONLY) 1020 if (sb_rdonly(sb))
1021 udf_warn(sb, "bitmap inode efe not found but it's ok since the disc is mounted read-only\n"); 1021 udf_warn(sb, "bitmap inode efe not found but it's ok since the disc is mounted read-only\n");
1022 else { 1022 else {
1023 udf_err(sb, "bitmap inode efe not found and attempted read-write mount\n"); 1023 udf_err(sb, "bitmap inode efe not found and attempted read-write mount\n");
@@ -1341,7 +1341,7 @@ static int udf_load_partdesc(struct super_block *sb, sector_t block)
1341 * writing to it (we overwrite blocks instead of relocating 1341 * writing to it (we overwrite blocks instead of relocating
1342 * them). 1342 * them).
1343 */ 1343 */
1344 if (!(sb->s_flags & MS_RDONLY)) { 1344 if (!sb_rdonly(sb)) {
1345 ret = -EACCES; 1345 ret = -EACCES;
1346 goto out_bh; 1346 goto out_bh;
1347 } 1347 }
@@ -2205,7 +2205,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
2205 ret = -EINVAL; 2205 ret = -EINVAL;
2206 goto error_out; 2206 goto error_out;
2207 } else if (minUDFWriteRev > UDF_MAX_WRITE_VERSION && 2207 } else if (minUDFWriteRev > UDF_MAX_WRITE_VERSION &&
2208 !(sb->s_flags & MS_RDONLY)) { 2208 !sb_rdonly(sb)) {
2209 ret = -EACCES; 2209 ret = -EACCES;
2210 goto error_out; 2210 goto error_out;
2211 } 2211 }
@@ -2226,7 +2226,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
2226 2226
2227 if (sbi->s_partmaps[sbi->s_partition].s_partition_flags & 2227 if (sbi->s_partmaps[sbi->s_partition].s_partition_flags &
2228 UDF_PART_FLAG_READ_ONLY && 2228 UDF_PART_FLAG_READ_ONLY &&
2229 !(sb->s_flags & MS_RDONLY)) { 2229 !sb_rdonly(sb)) {
2230 ret = -EACCES; 2230 ret = -EACCES;
2231 goto error_out; 2231 goto error_out;
2232 } 2232 }
@@ -2245,7 +2245,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
2245 le16_to_cpu(ts.year), ts.month, ts.day, 2245 le16_to_cpu(ts.year), ts.month, ts.day,
2246 ts.hour, ts.minute, le16_to_cpu(ts.typeAndTimezone)); 2246 ts.hour, ts.minute, le16_to_cpu(ts.typeAndTimezone));
2247 } 2247 }
2248 if (!(sb->s_flags & MS_RDONLY)) { 2248 if (!sb_rdonly(sb)) {
2249 udf_open_lvid(sb); 2249 udf_open_lvid(sb);
2250 lvid_open = true; 2250 lvid_open = true;
2251 } 2251 }
@@ -2332,7 +2332,7 @@ static void udf_put_super(struct super_block *sb)
2332 if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP)) 2332 if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
2333 unload_nls(sbi->s_nls_map); 2333 unload_nls(sbi->s_nls_map);
2334#endif 2334#endif
2335 if (!(sb->s_flags & MS_RDONLY)) 2335 if (!sb_rdonly(sb))
2336 udf_close_lvid(sb); 2336 udf_close_lvid(sb);
2337 brelse(sbi->s_lvid_bh); 2337 brelse(sbi->s_lvid_bh);
2338 udf_sb_free_partitions(sb); 2338 udf_sb_free_partitions(sb);