From 8036c167789ec84488430f8ddeb726b5b11b373c Mon Sep 17 00:00:00 2001 From: Yang Sheng Date: Wed, 11 Apr 2018 16:15:20 +0800 Subject: [PATCH] LU-10560 osd: bi_bdev is replaced by bi_disk The member bi_bdev is replaced by bi_disk in struct bio. - upstream commit: 74d46992e0d9dee7f1f376de0d56d31614c8a17a block: replace bi_bdev with a gendisk pointer and partitions index Signed-off-by: Yang Sheng Change-Id: Ice1fb53f8371fb744af5dbac6c076ce817770213 Reviewed-on: https://review.whamcloud.com/31975 Tested-by: Jenkins Reviewed-by: Bob Glossman Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Andreas Dilger --- lustre/osd-ldiskfs/osd_internal.h | 8 ++++++++ lustre/osd-ldiskfs/osd_io.c | 5 ++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lustre/osd-ldiskfs/osd_internal.h b/lustre/osd-ldiskfs/osd_internal.h index 4f1bffd..4b2ca6a 100644 --- a/lustre/osd-ldiskfs/osd_internal.h +++ b/lustre/osd-ldiskfs/osd_internal.h @@ -49,6 +49,7 @@ /* struct dirent64 */ #include #include +#include #include #include @@ -1328,6 +1329,13 @@ static inline struct buffer_head *__ldiskfs_bread(handle_t *handle, return bh; } +#ifndef bio_set_dev +# define bio_set_dev(bio, bdev) ((bio)->bi_bdev = bdev) +# define bio_get_queue(bio) bdev_get_queue((bio)->bi_bdev) +#else +# define bio_get_queue(bio) ((bio)->bi_disk->queue) +#endif + void ldiskfs_inc_count(handle_t *handle, struct inode *inode); void ldiskfs_dec_count(handle_t *handle, struct inode *inode); diff --git a/lustre/osd-ldiskfs/osd_io.c b/lustre/osd-ldiskfs/osd_io.c index 9fc9aef..7b4c8a8 100644 --- a/lustre/osd-ldiskfs/osd_io.c +++ b/lustre/osd-ldiskfs/osd_io.c @@ -341,8 +341,7 @@ static int osd_do_bio(struct osd_device *osd, struct inode *inode, continue; /* added this frag OK */ if (bio != NULL) { - struct request_queue *q = - bdev_get_queue(bio->bi_bdev); + struct request_queue *q = bio_get_queue(bio); unsigned int bi_size = bio_sectors(bio) << 9; /* Dang! I have to fragment this I/O */ @@ -370,7 +369,7 @@ static int osd_do_bio(struct osd_device *osd, struct inode *inode, goto out; } - bio->bi_bdev = inode->i_sb->s_bdev; + bio_set_dev(bio, inode->i_sb->s_bdev); bio_set_sector(bio, sector); #ifdef HAVE_BI_RW bio->bi_rw = (iobuf->dr_rw == 0) ? READ : WRITE; -- 1.8.3.1