diff options
author | Miao Xie <miaox@cn.fujitsu.com> | 2013-02-21 01:32:52 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-02-21 08:11:43 -0500 |
commit | dc81cdc58ad2f413b96b9004f8d681e5dc554473 (patch) | |
tree | 71f87fc0e172167755f1f572af3b77cb7aff46a7 /fs/btrfs/file.c | |
parent | 172a50497ffaf84d60dff37fbeb03894268fe5c2 (diff) |
Btrfs: fix remount vs autodefrag
If we remount the fs to close the auto defragment or make the fs R/O,
we should stop the auto defragment.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r-- | fs/btrfs/file.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 9f67e623206d..6e6dd8cdad92 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -374,6 +374,11 @@ int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) | |||
374 | 374 | ||
375 | atomic_inc(&fs_info->defrag_running); | 375 | atomic_inc(&fs_info->defrag_running); |
376 | while(1) { | 376 | while(1) { |
377 | /* Pause the auto defragger. */ | ||
378 | if (test_bit(BTRFS_FS_STATE_REMOUNTING, | ||
379 | &fs_info->fs_state)) | ||
380 | break; | ||
381 | |||
377 | if (!__need_auto_defrag(fs_info->tree_root)) | 382 | if (!__need_auto_defrag(fs_info->tree_root)) |
378 | break; | 383 | break; |
379 | 384 | ||