File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -853,6 +853,13 @@ static inline unsigned int bio_zone_no(struct bio *bio)
853
853
return disk_zone_no (bio -> bi_bdev -> bd_disk , bio -> bi_iter .bi_sector );
854
854
}
855
855
856
+ static inline bool bio_straddles_zones (struct bio * bio )
857
+ {
858
+ return bio_sectors (bio ) &&
859
+ bio_zone_no (bio ) !=
860
+ disk_zone_no (bio -> bi_bdev -> bd_disk , bio_end_sector (bio ) - 1 );
861
+ }
862
+
856
863
static inline unsigned int bio_zone_is_seq (struct bio * bio )
857
864
{
858
865
return disk_zone_is_seq (bio -> bi_bdev -> bd_disk , bio -> bi_iter .bi_sector );
@@ -1328,6 +1335,12 @@ static inline sector_t bdev_offset_from_zone_start(struct block_device *bdev,
1328
1335
return sector & (bdev_zone_sectors (bdev ) - 1 );
1329
1336
}
1330
1337
1338
+ static inline sector_t bio_offset_from_zone_start (struct bio * bio )
1339
+ {
1340
+ return bdev_offset_from_zone_start (bio -> bi_bdev ,
1341
+ bio -> bi_iter .bi_sector );
1342
+ }
1343
+
1331
1344
static inline bool bdev_is_zone_start (struct block_device * bdev ,
1332
1345
sector_t sector )
1333
1346
{
You can’t perform that action at this time.
0 commit comments