diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r-- | fs/btrfs/disk-io.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 92caa8035f36..a6b83744b05d 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -579,6 +579,10 @@ int btrfs_wq_submit_bio(struct btrfs_fs_info *fs_info, struct inode *inode, | |||
579 | async->bio_flags = bio_flags; | 579 | async->bio_flags = bio_flags; |
580 | 580 | ||
581 | atomic_inc(&fs_info->nr_async_submits); | 581 | atomic_inc(&fs_info->nr_async_submits); |
582 | |||
583 | if (rw & (1 << BIO_RW_SYNCIO)) | ||
584 | btrfs_set_work_high_prio(&async->work); | ||
585 | |||
582 | btrfs_queue_worker(&fs_info->workers, &async->work); | 586 | btrfs_queue_worker(&fs_info->workers, &async->work); |
583 | #if 0 | 587 | #if 0 |
584 | int limit = btrfs_async_submit_limit(fs_info); | 588 | int limit = btrfs_async_submit_limit(fs_info); |
@@ -656,6 +660,7 @@ static int btree_submit_bio_hook(struct inode *inode, int rw, struct bio *bio, | |||
656 | return btrfs_map_bio(BTRFS_I(inode)->root, rw, bio, | 660 | return btrfs_map_bio(BTRFS_I(inode)->root, rw, bio, |
657 | mirror_num, 0); | 661 | mirror_num, 0); |
658 | } | 662 | } |
663 | |||
659 | /* | 664 | /* |
660 | * kthread helpers are used to submit writes so that checksumming | 665 | * kthread helpers are used to submit writes so that checksumming |
661 | * can happen in parallel across all CPUs | 666 | * can happen in parallel across all CPUs |
@@ -2095,10 +2100,10 @@ static int write_dev_supers(struct btrfs_device *device, | |||
2095 | device->barriers = 0; | 2100 | device->barriers = 0; |
2096 | get_bh(bh); | 2101 | get_bh(bh); |
2097 | lock_buffer(bh); | 2102 | lock_buffer(bh); |
2098 | ret = submit_bh(WRITE, bh); | 2103 | ret = submit_bh(WRITE_SYNC, bh); |
2099 | } | 2104 | } |
2100 | } else { | 2105 | } else { |
2101 | ret = submit_bh(WRITE, bh); | 2106 | ret = submit_bh(WRITE_SYNC, bh); |
2102 | } | 2107 | } |
2103 | 2108 | ||
2104 | if (!ret && wait) { | 2109 | if (!ret && wait) { |