Btrfs: don't call btrfs_throttle in file write
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>
This commit is contained in:
Родитель
ec39e180fd
Коммит
45a8090e62
|
@ -1273,7 +1273,6 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file,
|
||||||
dirty_pages);
|
dirty_pages);
|
||||||
if (dirty_pages < (root->leafsize >> PAGE_CACHE_SHIFT) + 1)
|
if (dirty_pages < (root->leafsize >> PAGE_CACHE_SHIFT) + 1)
|
||||||
btrfs_btree_balance_dirty(root, 1);
|
btrfs_btree_balance_dirty(root, 1);
|
||||||
btrfs_throttle(root);
|
|
||||||
|
|
||||||
pos += copied;
|
pos += copied;
|
||||||
num_written += copied;
|
num_written += copied;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче