From: Liu Bo <liubo2...@cn.fujitsu.com>

When the filesystem is readonly, commit transaction is forbiddened.

Signed-off-by: Liu Bo <liubo2...@cn.fujitsu.com>
Signed-off-by: Miao Xie <mi...@cn.fujitsu.com>
---
 fs/btrfs/transaction.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 1fffbc0..45c76b9 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1188,6 +1188,13 @@ int btrfs_commit_transaction(struct btrfs_trans_handle 
*trans,
        unsigned long now = get_seconds();
        int flush_on_commit = btrfs_test_opt(root, FLUSHONCOMMIT);
 
+       /*
+        * Since some error may force btrfs readonly, this can
+        * avoid backgroud writeback.
+        */
+       if (root->fs_info->sb->s_flags & MS_RDONLY)
+               return 0;
+
        btrfs_run_ordered_operations(root, 0);
 
        /* make a pass through all the delayed refs we have so far
-- 
1.7.0.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to