diff options
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 2b13d1a69f0b..35a128acfbd1 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -103,7 +103,7 @@ static void btrfs_handle_error(struct btrfs_fs_info *fs_info) | |||
103 | { | 103 | { |
104 | struct super_block *sb = fs_info->sb; | 104 | struct super_block *sb = fs_info->sb; |
105 | 105 | ||
106 | if (sb->s_flags & MS_RDONLY) | 106 | if (sb_rdonly(sb)) |
107 | return; | 107 | return; |
108 | 108 | ||
109 | if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { | 109 | if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { |
@@ -139,7 +139,7 @@ void __btrfs_handle_fs_error(struct btrfs_fs_info *fs_info, const char *function | |||
139 | * Special case: if the error is EROFS, and we're already | 139 | * Special case: if the error is EROFS, and we're already |
140 | * under MS_RDONLY, then it is safe here. | 140 | * under MS_RDONLY, then it is safe here. |
141 | */ | 141 | */ |
142 | if (errno == -EROFS && (sb->s_flags & MS_RDONLY)) | 142 | if (errno == -EROFS && sb_rdonly(sb)) |
143 | return; | 143 | return; |
144 | 144 | ||
145 | #ifdef CONFIG_PRINTK | 145 | #ifdef CONFIG_PRINTK |
@@ -1701,8 +1701,7 @@ static inline void btrfs_remount_cleanup(struct btrfs_fs_info *fs_info, | |||
1701 | * close or the filesystem is read only. | 1701 | * close or the filesystem is read only. |
1702 | */ | 1702 | */ |
1703 | if (btrfs_raw_test_opt(old_opts, AUTO_DEFRAG) && | 1703 | if (btrfs_raw_test_opt(old_opts, AUTO_DEFRAG) && |
1704 | (!btrfs_raw_test_opt(fs_info->mount_opt, AUTO_DEFRAG) || | 1704 | (!btrfs_raw_test_opt(fs_info->mount_opt, AUTO_DEFRAG) || sb_rdonly(fs_info->sb))) { |
1705 | (fs_info->sb->s_flags & MS_RDONLY))) { | ||
1706 | btrfs_cleanup_defrag_inodes(fs_info); | 1705 | btrfs_cleanup_defrag_inodes(fs_info); |
1707 | } | 1706 | } |
1708 | 1707 | ||
@@ -1749,7 +1748,7 @@ static int btrfs_remount(struct super_block *sb, int *flags, char *data) | |||
1749 | btrfs_resize_thread_pool(fs_info, | 1748 | btrfs_resize_thread_pool(fs_info, |
1750 | fs_info->thread_pool_size, old_thread_pool_size); | 1749 | fs_info->thread_pool_size, old_thread_pool_size); |
1751 | 1750 | ||
1752 | if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) | 1751 | if ((bool)(*flags & MS_RDONLY) == sb_rdonly(sb)) |
1753 | goto out; | 1752 | goto out; |
1754 | 1753 | ||
1755 | if (*flags & MS_RDONLY) { | 1754 | if (*flags & MS_RDONLY) { |
@@ -1850,7 +1849,7 @@ out: | |||
1850 | 1849 | ||
1851 | restore: | 1850 | restore: |
1852 | /* We've hit an error - don't reset MS_RDONLY */ | 1851 | /* We've hit an error - don't reset MS_RDONLY */ |
1853 | if (sb->s_flags & MS_RDONLY) | 1852 | if (sb_rdonly(sb)) |
1854 | old_flags |= MS_RDONLY; | 1853 | old_flags |= MS_RDONLY; |
1855 | sb->s_flags = old_flags; | 1854 | sb->s_flags = old_flags; |
1856 | fs_info->mount_opt = old_opts; | 1855 | fs_info->mount_opt = old_opts; |