diff options
Diffstat (limited to 'fs/reiserfs/super.c')
-rw-r--r-- | fs/reiserfs/super.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 59125fb36d42..49a8ba02bc17 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -1242,6 +1242,13 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg) | |||
1242 | if (s->s_flags & MS_RDONLY) | 1242 | if (s->s_flags & MS_RDONLY) |
1243 | /* it is read-only already */ | 1243 | /* it is read-only already */ |
1244 | goto out_ok; | 1244 | goto out_ok; |
1245 | |||
1246 | err = vfs_dq_off(s, 1); | ||
1247 | if (err < 0 && err != -ENOSYS) { | ||
1248 | err = -EBUSY; | ||
1249 | goto out_err; | ||
1250 | } | ||
1251 | |||
1245 | /* try to remount file system with read-only permissions */ | 1252 | /* try to remount file system with read-only permissions */ |
1246 | if (sb_umount_state(rs) == REISERFS_VALID_FS | 1253 | if (sb_umount_state(rs) == REISERFS_VALID_FS |
1247 | || REISERFS_SB(s)->s_mount_state != REISERFS_VALID_FS) { | 1254 | || REISERFS_SB(s)->s_mount_state != REISERFS_VALID_FS) { |
@@ -1295,6 +1302,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg) | |||
1295 | s->s_dirt = 0; | 1302 | s->s_dirt = 0; |
1296 | 1303 | ||
1297 | if (!(*mount_flags & MS_RDONLY)) { | 1304 | if (!(*mount_flags & MS_RDONLY)) { |
1305 | vfs_dq_quota_on_remount(s); | ||
1298 | finish_unfinished(s); | 1306 | finish_unfinished(s); |
1299 | reiserfs_xattr_init(s, *mount_flags); | 1307 | reiserfs_xattr_init(s, *mount_flags); |
1300 | } | 1308 | } |