Btrfs: Only do async bio submission for pdflush
authorChris Mason <chris.mason@oracle.com>
Wed, 16 Apr 2008 17:06:16 +0000 (13:06 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:01 +0000 (11:04 -0400)
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/disk-io.c

index 9e41ea9..76ee7a4 100644 (file)
@@ -381,6 +381,13 @@ int btrfs_wq_submit_bio(struct btrfs_fs_info *fs_info, struct inode *inode,
 {
        struct async_submit_bio *async;
 
+       /*
+        * inline writerback should stay inline, only hop to the async
+        * queue if we're pdflush
+        */
+       if (!current_is_pdflush())
+               return submit_bio_hook(inode, rw, bio, mirror_num);
+
        async = kmalloc(sizeof(*async), GFP_NOFS);
        if (!async)
                return -ENOMEM;