Lines Matching refs:bdev
426 int blkdev_report_zones(struct block_device *bdev, sector_t sector,
428 int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op,
790 static inline unsigned int bdev_nr_zones(struct block_device *bdev) in bdev_nr_zones() argument
792 return disk_nr_zones(bdev->bd_disk); in bdev_nr_zones()
795 static inline unsigned int bdev_max_open_zones(struct block_device *bdev) in bdev_max_open_zones() argument
797 return bdev->bd_disk->queue->limits.max_open_zones; in bdev_max_open_zones()
800 static inline unsigned int bdev_max_active_zones(struct block_device *bdev) in bdev_max_active_zones() argument
802 return bdev->bd_disk->queue->limits.max_active_zones; in bdev_max_active_zones()
834 static inline u8 bdev_partno(const struct block_device *bdev) in bdev_partno() argument
836 return atomic_read(&bdev->__bd_flags) & BD_PARTNO; in bdev_partno()
839 static inline bool bdev_test_flag(const struct block_device *bdev, unsigned flag) in bdev_test_flag() argument
841 return atomic_read(&bdev->__bd_flags) & flag; in bdev_test_flag()
844 static inline void bdev_set_flag(struct block_device *bdev, unsigned flag) in bdev_set_flag() argument
846 atomic_or(flag, &bdev->__bd_flags); in bdev_set_flag()
849 static inline void bdev_clear_flag(struct block_device *bdev, unsigned flag) in bdev_clear_flag() argument
851 atomic_andnot(flag, &bdev->__bd_flags); in bdev_clear_flag()
860 static inline int bdev_read_only(struct block_device *bdev) in bdev_read_only() argument
862 return bdev_test_flag(bdev, BD_READ_ONLY) || get_disk_ro(bdev->bd_disk); in bdev_read_only()
867 void bdev_mark_dead(struct block_device *bdev, bool surprise);
872 static inline sector_t get_start_sect(struct block_device *bdev) in get_start_sect() argument
874 return bdev->bd_start_sect; in get_start_sect()
877 static inline sector_t bdev_nr_sectors(struct block_device *bdev) in bdev_nr_sectors() argument
879 return bdev->bd_nr_sectors; in bdev_nr_sectors()
882 static inline loff_t bdev_nr_bytes(struct block_device *bdev) in bdev_nr_bytes() argument
884 return (loff_t)bdev_nr_sectors(bdev) << SECTOR_SHIFT; in bdev_nr_bytes()
933 int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk);
934 void bd_unlink_disk_holder(struct block_device *bdev, struct gendisk *disk);
936 static inline int bd_link_disk_holder(struct block_device *bdev, in bd_link_disk_holder() argument
941 static inline void bd_unlink_disk_holder(struct block_device *bdev, in bd_unlink_disk_holder() argument
974 static inline struct request_queue *bdev_get_queue(struct block_device *bdev) in bdev_get_queue() argument
976 return bdev->bd_queue; /* this is never NULL */ in bdev_get_queue()
1072 void queue_limits_stack_bdev(struct queue_limits *t, struct block_device *bdev,
1151 int blkdev_issue_flush(struct block_device *bdev);
1178 static inline int blkdev_issue_flush(struct block_device *bdev) in blkdev_issue_flush() argument
1191 int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
1193 int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
1195 int blkdev_issue_secure_erase(struct block_device *bdev, sector_t sector,
1202 extern int __blkdev_issue_zeroout(struct block_device *bdev, sector_t sector,
1205 extern int blkdev_issue_zeroout(struct block_device *bdev, sector_t sector,
1229 static inline bool bdev_is_partition(struct block_device *bdev) in bdev_is_partition() argument
1231 return bdev_partno(bdev) != 0; in bdev_is_partition()
1311 static inline bool bdev_emulates_zone_append(struct block_device *bdev) in bdev_emulates_zone_append() argument
1313 return queue_emulates_zone_append(bdev_get_queue(bdev)); in bdev_emulates_zone_append()
1317 bdev_max_zone_append_sectors(struct block_device *bdev) in bdev_max_zone_append_sectors() argument
1319 return queue_max_zone_append_sectors(bdev_get_queue(bdev)); in bdev_max_zone_append_sectors()
1322 static inline unsigned int bdev_max_segments(struct block_device *bdev) in bdev_max_segments() argument
1324 return queue_max_segments(bdev_get_queue(bdev)); in bdev_max_segments()
1332 static inline unsigned int bdev_logical_block_size(struct block_device *bdev) in bdev_logical_block_size() argument
1334 return queue_logical_block_size(bdev_get_queue(bdev)); in bdev_logical_block_size()
1342 static inline unsigned int bdev_physical_block_size(struct block_device *bdev) in bdev_physical_block_size() argument
1344 return queue_physical_block_size(bdev_get_queue(bdev)); in bdev_physical_block_size()
1352 static inline unsigned int bdev_io_min(struct block_device *bdev) in bdev_io_min() argument
1354 return queue_io_min(bdev_get_queue(bdev)); in bdev_io_min()
1362 static inline int bdev_io_opt(struct block_device *bdev) in bdev_io_opt() argument
1364 return queue_io_opt(bdev_get_queue(bdev)); in bdev_io_opt()
1374 bdev_zone_write_granularity(struct block_device *bdev) in bdev_zone_write_granularity() argument
1376 return queue_zone_write_granularity(bdev_get_queue(bdev)); in bdev_zone_write_granularity()
1379 int bdev_alignment_offset(struct block_device *bdev);
1380 unsigned int bdev_discard_alignment(struct block_device *bdev);
1382 static inline unsigned int bdev_max_discard_sectors(struct block_device *bdev) in bdev_max_discard_sectors() argument
1384 return bdev_get_queue(bdev)->limits.max_discard_sectors; in bdev_max_discard_sectors()
1387 static inline unsigned int bdev_discard_granularity(struct block_device *bdev) in bdev_discard_granularity() argument
1389 return bdev_get_queue(bdev)->limits.discard_granularity; in bdev_discard_granularity()
1393 bdev_max_secure_erase_sectors(struct block_device *bdev) in bdev_max_secure_erase_sectors() argument
1395 return bdev_get_queue(bdev)->limits.max_secure_erase_sectors; in bdev_max_secure_erase_sectors()
1398 static inline unsigned int bdev_write_zeroes_sectors(struct block_device *bdev) in bdev_write_zeroes_sectors() argument
1400 return bdev_get_queue(bdev)->limits.max_write_zeroes_sectors; in bdev_write_zeroes_sectors()
1403 static inline bool bdev_nonrot(struct block_device *bdev) in bdev_nonrot() argument
1405 return blk_queue_nonrot(bdev_get_queue(bdev)); in bdev_nonrot()
1408 static inline bool bdev_synchronous(struct block_device *bdev) in bdev_synchronous() argument
1410 return bdev->bd_disk->queue->limits.features & BLK_FEAT_SYNCHRONOUS; in bdev_synchronous()
1413 static inline bool bdev_stable_writes(struct block_device *bdev) in bdev_stable_writes() argument
1415 struct request_queue *q = bdev_get_queue(bdev); in bdev_stable_writes()
1429 static inline bool bdev_write_cache(struct block_device *bdev) in bdev_write_cache() argument
1431 return blk_queue_write_cache(bdev_get_queue(bdev)); in bdev_write_cache()
1434 static inline bool bdev_fua(struct block_device *bdev) in bdev_fua() argument
1436 return bdev_get_queue(bdev)->limits.features & BLK_FEAT_FUA; in bdev_fua()
1439 static inline bool bdev_nowait(struct block_device *bdev) in bdev_nowait() argument
1441 return bdev->bd_disk->queue->limits.features & BLK_FEAT_NOWAIT; in bdev_nowait()
1444 static inline bool bdev_is_zoned(struct block_device *bdev) in bdev_is_zoned() argument
1446 return blk_queue_is_zoned(bdev_get_queue(bdev)); in bdev_is_zoned()
1449 static inline unsigned int bdev_zone_no(struct block_device *bdev, sector_t sec) in bdev_zone_no() argument
1451 return disk_zone_no(bdev->bd_disk, sec); in bdev_zone_no()
1454 static inline sector_t bdev_zone_sectors(struct block_device *bdev) in bdev_zone_sectors() argument
1456 struct request_queue *q = bdev_get_queue(bdev); in bdev_zone_sectors()
1463 static inline sector_t bdev_offset_from_zone_start(struct block_device *bdev, in bdev_offset_from_zone_start() argument
1466 sector_t zone_sectors = bdev_zone_sectors(bdev); in bdev_offset_from_zone_start()
1469 if (!bdev_is_zoned(bdev)) in bdev_offset_from_zone_start()
1485 static inline bool bdev_is_zone_start(struct block_device *bdev, in bdev_is_zone_start() argument
1488 return bdev_offset_from_zone_start(bdev, sector) == 0; in bdev_is_zone_start()
1491 int blk_zone_issue_zeroout(struct block_device *bdev, sector_t sector,
1501 static inline bool bdev_zone_is_seq(struct block_device *bdev, sector_t sector) in bdev_zone_is_seq() argument
1506 if (bdev_is_zoned(bdev)) { in bdev_zone_is_seq()
1507 struct gendisk *disk = bdev->bd_disk; in bdev_zone_is_seq()
1550 static inline unsigned int bdev_dma_alignment(struct block_device *bdev) in bdev_dma_alignment() argument
1552 return queue_dma_alignment(bdev_get_queue(bdev)); in bdev_dma_alignment()
1555 static inline bool bdev_iter_is_aligned(struct block_device *bdev, in bdev_iter_is_aligned() argument
1558 return iov_iter_is_aligned(iter, bdev_dma_alignment(bdev), in bdev_iter_is_aligned()
1559 bdev_logical_block_size(bdev) - 1); in bdev_iter_is_aligned()
1617 int (*ioctl)(struct block_device *bdev, blk_mode_t mode,
1619 int (*compat_ioctl)(struct block_device *bdev, blk_mode_t mode,
1625 int (*set_read_only)(struct block_device *bdev, bool ro);
1669 unsigned long bdev_start_io_acct(struct block_device *bdev, enum req_op op,
1671 void bdev_end_io_acct(struct block_device *bdev, enum req_op op,
1679 static inline bool bdev_is_zone_aligned(struct block_device *bdev, in bdev_is_zone_aligned() argument
1682 return bdev_is_zone_start(bdev, sector); in bdev_is_zone_aligned()
1695 int bdev_read_only(struct block_device *bdev);
1711 void (*mark_dead)(struct block_device *bdev, bool surprise);
1716 void (*sync)(struct block_device *bdev);
1721 int (*freeze)(struct block_device *bdev);
1726 int (*thaw)(struct block_device *bdev);
1748 int bd_prepare_to_claim(struct block_device *bdev, void *holder,
1750 void bd_abort_claiming(struct block_device *bdev, void *holder);
1754 void blkdev_put_no_open(struct block_device *bdev);
1759 unsigned int block_size(struct block_device *bdev);
1762 void invalidate_bdev(struct block_device *bdev);
1763 int sync_blockdev(struct block_device *bdev);
1764 int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend);
1765 int sync_blockdev_nowait(struct block_device *bdev);
1771 static inline void invalidate_bdev(struct block_device *bdev) in invalidate_bdev() argument
1774 static inline int sync_blockdev(struct block_device *bdev) in sync_blockdev() argument
1778 static inline int sync_blockdev_nowait(struct block_device *bdev) in sync_blockdev_nowait() argument
1798 int bdev_freeze(struct block_device *bdev);
1799 int bdev_thaw(struct block_device *bdev);
1808 static inline bool bdev_can_atomic_write(struct block_device *bdev) in bdev_can_atomic_write() argument
1810 struct request_queue *bd_queue = bdev->bd_queue; in bdev_can_atomic_write()
1816 if (bdev_is_partition(bdev)) { in bdev_can_atomic_write()
1817 sector_t bd_start_sect = bdev->bd_start_sect; in bdev_can_atomic_write()