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
This commit is contained in:
@@ -1776,7 +1776,7 @@ int reiserfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
struct reiserfs_transaction_handle th;
|
||||
int jbegin_count = 1;
|
||||
|
||||
if (inode->i_sb->s_flags & MS_RDONLY)
|
||||
if (sb_rdonly(inode->i_sb))
|
||||
return -EROFS;
|
||||
/*
|
||||
* memory pressure can sometimes initiate write_inode calls with
|
||||
|
@@ -1918,7 +1918,7 @@ static int do_journal_release(struct reiserfs_transaction_handle *th,
|
||||
* we only want to flush out transactions if we were
|
||||
* called with error == 0
|
||||
*/
|
||||
if (!error && !(sb->s_flags & MS_RDONLY)) {
|
||||
if (!error && !sb_rdonly(sb)) {
|
||||
/* end the current trans */
|
||||
BUG_ON(!th->t_trans_id);
|
||||
do_journal_end(th, FLUSH_ALL);
|
||||
|
@@ -386,7 +386,7 @@ void __reiserfs_error(struct super_block *sb, const char *id,
|
||||
printk(KERN_CRIT "REISERFS error (device %s): %s: %s\n",
|
||||
sb->s_id, function, error_buf);
|
||||
|
||||
if (sb->s_flags & MS_RDONLY)
|
||||
if (sb_rdonly(sb))
|
||||
return;
|
||||
|
||||
reiserfs_info(sb, "Remounting filesystem read-only\n");
|
||||
|
@@ -121,7 +121,7 @@ void reiserfs_schedule_old_flush(struct super_block *s)
|
||||
* Avoid scheduling flush when sb is being shut down. It can race
|
||||
* with journal shutdown and free still queued delayed work.
|
||||
*/
|
||||
if (s->s_flags & MS_RDONLY || !(s->s_flags & MS_ACTIVE))
|
||||
if (sb_rdonly(s) || !(s->s_flags & MS_ACTIVE))
|
||||
return;
|
||||
|
||||
spin_lock(&sbi->old_work_lock);
|
||||
@@ -151,7 +151,7 @@ static int reiserfs_freeze(struct super_block *s)
|
||||
reiserfs_cancel_old_flush(s);
|
||||
|
||||
reiserfs_write_lock(s);
|
||||
if (!(s->s_flags & MS_RDONLY)) {
|
||||
if (!sb_rdonly(s)) {
|
||||
int err = journal_begin(&th, s, 1);
|
||||
if (err) {
|
||||
reiserfs_block_writes(&th);
|
||||
@@ -599,7 +599,7 @@ static void reiserfs_put_super(struct super_block *s)
|
||||
* change file system state to current state if it was mounted
|
||||
* with read-write permissions
|
||||
*/
|
||||
if (!(s->s_flags & MS_RDONLY)) {
|
||||
if (!sb_rdonly(s)) {
|
||||
if (!journal_begin(&th, s, 10)) {
|
||||
reiserfs_prepare_for_journal(s, SB_BUFFER_WITH_SB(s),
|
||||
1);
|
||||
@@ -700,7 +700,7 @@ static void reiserfs_dirty_inode(struct inode *inode, int flags)
|
||||
|
||||
int err = 0;
|
||||
|
||||
if (inode->i_sb->s_flags & MS_RDONLY) {
|
||||
if (sb_rdonly(inode->i_sb)) {
|
||||
reiserfs_warning(inode->i_sb, "clm-6006",
|
||||
"writing inode %lu on readonly FS",
|
||||
inode->i_ino);
|
||||
@@ -1525,7 +1525,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
|
||||
reiserfs_write_unlock(s);
|
||||
reiserfs_xattr_init(s, *mount_flags);
|
||||
/* remount read-only */
|
||||
if (s->s_flags & MS_RDONLY)
|
||||
if (sb_rdonly(s))
|
||||
/* it is read-only already */
|
||||
goto out_ok_unlocked;
|
||||
|
||||
@@ -1551,7 +1551,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
|
||||
journal_mark_dirty(&th, SB_BUFFER_WITH_SB(s));
|
||||
} else {
|
||||
/* remount read-write */
|
||||
if (!(s->s_flags & MS_RDONLY)) {
|
||||
if (!sb_rdonly(s)) {
|
||||
reiserfs_write_unlock(s);
|
||||
reiserfs_xattr_init(s, *mount_flags);
|
||||
goto out_ok_unlocked; /* We are read-write already */
|
||||
@@ -1855,7 +1855,7 @@ static int what_hash(struct super_block *s)
|
||||
* the super
|
||||
*/
|
||||
if (code != UNSET_HASH &&
|
||||
!(s->s_flags & MS_RDONLY) &&
|
||||
!sb_rdonly(s) &&
|
||||
code != sb_hash_function_code(SB_DISK_SUPER_BLOCK(s))) {
|
||||
set_sb_hash_function_code(SB_DISK_SUPER_BLOCK(s), code);
|
||||
}
|
||||
@@ -2052,7 +2052,7 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
|
||||
if (replay_only(s))
|
||||
goto error_unlocked;
|
||||
|
||||
if (bdev_read_only(s->s_bdev) && !(s->s_flags & MS_RDONLY)) {
|
||||
if (bdev_read_only(s->s_bdev) && !sb_rdonly(s)) {
|
||||
SWARN(silent, s, "clm-7000",
|
||||
"Detected readonly device, marking FS readonly");
|
||||
s->s_flags |= MS_RDONLY;
|
||||
@@ -2101,7 +2101,7 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
|
||||
else
|
||||
set_bit(REISERFS_3_6, &sbi->s_properties);
|
||||
|
||||
if (!(s->s_flags & MS_RDONLY)) {
|
||||
if (!sb_rdonly(s)) {
|
||||
|
||||
errval = journal_begin(&th, s, 1);
|
||||
if (errval) {
|
||||
|
Reference in New Issue
Block a user