Whamcloud - gitweb
LU-10560 osd: bi_bdev is replaced by bi_disk 75/31975/6
authorYang Sheng <yang.sheng@intel.com>
Wed, 11 Apr 2018 08:15:20 +0000 (16:15 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 12 May 2018 03:52:59 +0000 (03:52 +0000)
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 <yang.sheng@intel.com>
Change-Id: Ice1fb53f8371fb744af5dbac6c076ce817770213
Reviewed-on: https://review.whamcloud.com/31975
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/osd-ldiskfs/osd_internal.h
lustre/osd-ldiskfs/osd_io.c

index 4f1bffd..4b2ca6a 100644 (file)
@@ -49,6 +49,7 @@
 /* struct dirent64 */
 #include <linux/dirent.h>
 #include <linux/statfs.h>
+#include <linux/bio.h>
 #include <ldiskfs/ldiskfs.h>
 #include <ldiskfs/ldiskfs_jbd2.h>
 
@@ -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);
 
index 9fc9aef..7b4c8a8 100644 (file)
@@ -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;