Btrfs: don't call btrfs_throttle in file write
authorJosef Bacik <josef@redhat.com>
Fri, 13 Jan 2012 00:10:12 +0000 (19:10 -0500)
committerChris Mason <chris.mason@oracle.com>
Mon, 16 Jan 2012 20:28:55 +0000 (15:28 -0500)
Btrfs_throttle will make us wait if there is a currently committing transaction
until we can open new transactions, which is ridiculous since we don't actually
start any transactions within the file write path anyway, so all this does is
introduce big latencies if we have a sync/fsync heavy workload going on while
somebody else is trying to do work.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/file.c

index fc97b00bd8714135ba43140ee590ede878e09753..0f61e11a2998d87bbf246447eae3161b79aad278 100644 (file)
@@ -1273,7 +1273,6 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file,
                                                   dirty_pages);
                if (dirty_pages < (root->leafsize >> PAGE_CACHE_SHIFT) + 1)
                        btrfs_btree_balance_dirty(root, 1);
-               btrfs_throttle(root);
 
                pos += copied;
                num_written += copied;