block: submit_bio_wait() conversions
It was being open coded in a few places. Signed-off-by: Kent Overstreet <kmo@daterainc.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Joern Engel <joern@logfs.org> Cc: Prasad Joshi <prasadjoshi.linux@gmail.com> Cc: Neil Brown <neilb@suse.de> Cc: Chris Mason <chris.mason@fusionio.com> Acked-by: NeilBrown <neilb@suse.de>
This commit is contained in:
@@ -333,7 +333,6 @@ static void btrfsic_release_block_ctx(struct btrfsic_block_data_ctx *block_ctx);
|
||||
static int btrfsic_read_block(struct btrfsic_state *state,
|
||||
struct btrfsic_block_data_ctx *block_ctx);
|
||||
static void btrfsic_dump_database(struct btrfsic_state *state);
|
||||
static void btrfsic_complete_bio_end_io(struct bio *bio, int err);
|
||||
static int btrfsic_test_for_metadata(struct btrfsic_state *state,
|
||||
char **datav, unsigned int num_pages);
|
||||
static void btrfsic_process_written_block(struct btrfsic_dev_state *dev_state,
|
||||
@@ -1687,7 +1686,6 @@ static int btrfsic_read_block(struct btrfsic_state *state,
|
||||
for (i = 0; i < num_pages;) {
|
||||
struct bio *bio;
|
||||
unsigned int j;
|
||||
DECLARE_COMPLETION_ONSTACK(complete);
|
||||
|
||||
bio = btrfs_io_bio_alloc(GFP_NOFS, num_pages - i);
|
||||
if (!bio) {
|
||||
@@ -1698,8 +1696,6 @@ static int btrfsic_read_block(struct btrfsic_state *state,
|
||||
}
|
||||
bio->bi_bdev = block_ctx->dev->bdev;
|
||||
bio->bi_sector = dev_bytenr >> 9;
|
||||
bio->bi_end_io = btrfsic_complete_bio_end_io;
|
||||
bio->bi_private = &complete;
|
||||
|
||||
for (j = i; j < num_pages; j++) {
|
||||
ret = bio_add_page(bio, block_ctx->pagev[j],
|
||||
@@ -1712,12 +1708,7 @@ static int btrfsic_read_block(struct btrfsic_state *state,
|
||||
"btrfsic: error, failed to add a single page!\n");
|
||||
return -1;
|
||||
}
|
||||
submit_bio(READ, bio);
|
||||
|
||||
/* this will also unplug the queue */
|
||||
wait_for_completion(&complete);
|
||||
|
||||
if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) {
|
||||
if (submit_bio_wait(READ, bio)) {
|
||||
printk(KERN_INFO
|
||||
"btrfsic: read error at logical %llu dev %s!\n",
|
||||
block_ctx->start, block_ctx->dev->name);
|
||||
@@ -1740,11 +1731,6 @@ static int btrfsic_read_block(struct btrfsic_state *state,
|
||||
return block_ctx->len;
|
||||
}
|
||||
|
||||
static void btrfsic_complete_bio_end_io(struct bio *bio, int err)
|
||||
{
|
||||
complete((struct completion *)bio->bi_private);
|
||||
}
|
||||
|
||||
static void btrfsic_dump_database(struct btrfsic_state *state)
|
||||
{
|
||||
struct list_head *elem_all;
|
||||
@@ -3008,14 +2994,12 @@ int btrfsic_submit_bh(int rw, struct buffer_head *bh)
|
||||
return submit_bh(rw, bh);
|
||||
}
|
||||
|
||||
void btrfsic_submit_bio(int rw, struct bio *bio)
|
||||
static void __btrfsic_submit_bio(int rw, struct bio *bio)
|
||||
{
|
||||
struct btrfsic_dev_state *dev_state;
|
||||
|
||||
if (!btrfsic_is_initialized) {
|
||||
submit_bio(rw, bio);
|
||||
if (!btrfsic_is_initialized)
|
||||
return;
|
||||
}
|
||||
|
||||
mutex_lock(&btrfsic_mutex);
|
||||
/* since btrfsic_submit_bio() is also called before
|
||||
@@ -3106,10 +3090,20 @@ void btrfsic_submit_bio(int rw, struct bio *bio)
|
||||
}
|
||||
leave:
|
||||
mutex_unlock(&btrfsic_mutex);
|
||||
}
|
||||
|
||||
void btrfsic_submit_bio(int rw, struct bio *bio)
|
||||
{
|
||||
__btrfsic_submit_bio(rw, bio);
|
||||
submit_bio(rw, bio);
|
||||
}
|
||||
|
||||
int btrfsic_submit_bio_wait(int rw, struct bio *bio)
|
||||
{
|
||||
__btrfsic_submit_bio(rw, bio);
|
||||
return submit_bio_wait(rw, bio);
|
||||
}
|
||||
|
||||
int btrfsic_mount(struct btrfs_root *root,
|
||||
struct btrfs_fs_devices *fs_devices,
|
||||
int including_extent_data, u32 print_mask)
|
||||
|
Reference in New Issue
Block a user