diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-14 21:54:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-14 21:54:01 -0400 |
commit | 0f0d12728e56c94d3289c6831243b6faeae8a19d (patch) | |
tree | bd52fd4ed6fba2a0d8bb95e7fc33f51ac299001d /drivers | |
parent | 581bfce969cbfc7ce43ee92273be9cb7c3fdfa61 (diff) | |
parent | e462ec50cb5fad19f6003a3d8087f4a0945dd2b1 (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 'drivers')
-rw-r--r-- | drivers/staging/lustre/lustre/llite/llite_lib.c | 4 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/llite/namei.c | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c index d855129768f8..25393e3a0fe8 100644 --- a/drivers/staging/lustre/lustre/llite/llite_lib.c +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c | |||
@@ -210,7 +210,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt, | |||
210 | data->ocd_ibits_known = MDS_INODELOCK_FULL; | 210 | data->ocd_ibits_known = MDS_INODELOCK_FULL; |
211 | data->ocd_version = LUSTRE_VERSION_CODE; | 211 | data->ocd_version = LUSTRE_VERSION_CODE; |
212 | 212 | ||
213 | if (sb->s_flags & MS_RDONLY) | 213 | if (sb_rdonly(sb)) |
214 | data->ocd_connect_flags |= OBD_CONNECT_RDONLY; | 214 | data->ocd_connect_flags |= OBD_CONNECT_RDONLY; |
215 | if (sbi->ll_flags & LL_SBI_USER_XATTR) | 215 | if (sbi->ll_flags & LL_SBI_USER_XATTR) |
216 | data->ocd_connect_flags |= OBD_CONNECT_XATTR; | 216 | data->ocd_connect_flags |= OBD_CONNECT_XATTR; |
@@ -2031,7 +2031,7 @@ int ll_remount_fs(struct super_block *sb, int *flags, char *data) | |||
2031 | int err; | 2031 | int err; |
2032 | __u32 read_only; | 2032 | __u32 read_only; |
2033 | 2033 | ||
2034 | if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) { | 2034 | if ((bool)(*flags & MS_RDONLY) != sb_rdonly(sb)) { |
2035 | read_only = *flags & MS_RDONLY; | 2035 | read_only = *flags & MS_RDONLY; |
2036 | err = obd_set_info_async(NULL, sbi->ll_md_exp, | 2036 | err = obd_set_info_async(NULL, sbi->ll_md_exp, |
2037 | sizeof(KEY_READ_ONLY), | 2037 | sizeof(KEY_READ_ONLY), |
diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c index 4897dbd3286d..5cc2b3255207 100644 --- a/drivers/staging/lustre/lustre/llite/namei.c +++ b/drivers/staging/lustre/lustre/llite/namei.c | |||
@@ -561,8 +561,7 @@ static struct dentry *ll_lookup_it(struct inode *parent, struct dentry *dentry, | |||
561 | } | 561 | } |
562 | } | 562 | } |
563 | 563 | ||
564 | if (it->it_op & IT_OPEN && it->it_flags & FMODE_WRITE && | 564 | if (it->it_op & IT_OPEN && it->it_flags & FMODE_WRITE && sb_rdonly(dentry->d_sb)) |
565 | dentry->d_sb->s_flags & MS_RDONLY) | ||
566 | return ERR_PTR(-EROFS); | 565 | return ERR_PTR(-EROFS); |
567 | 566 | ||
568 | if (it->it_op & IT_CREAT) | 567 | if (it->it_op & IT_CREAT) |