Lines Matching refs:device

19 	 * zoned block device.
27 * It can vary per-device depending on the allocation status.
41 int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos,
44 int btrfs_get_dev_zone_info(struct btrfs_device *device, bool populate_cache);
45 void btrfs_destroy_dev_zone_info(struct btrfs_device *device);
51 int btrfs_sb_log_location(struct btrfs_device *device, int mirror, int rw,
53 int btrfs_advance_sb_log(struct btrfs_device *device, int mirror);
55 u64 btrfs_find_allocatable_zones(struct btrfs_device *device, u64 hole_start,
57 int btrfs_reset_device_zone(struct btrfs_device *device, u64 physical,
59 int btrfs_ensure_empty_zones(struct btrfs_device *device, u64 start, u64 size);
68 int btrfs_zoned_issue_zeroout(struct btrfs_device *device, u64 physical, u64 length);
88 static inline int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos,
99 static inline int btrfs_get_dev_zone_info(struct btrfs_device *device,
105 static inline void btrfs_destroy_dev_zone_info(struct btrfs_device *device) { }
138 static inline int btrfs_sb_log_location(struct btrfs_device *device, int mirror,
145 static inline int btrfs_advance_sb_log(struct btrfs_device *device, int mirror)
155 static inline u64 btrfs_find_allocatable_zones(struct btrfs_device *device,
162 static inline int btrfs_reset_device_zone(struct btrfs_device *device,
169 static inline int btrfs_ensure_empty_zones(struct btrfs_device *device,
201 static inline int btrfs_zoned_issue_zeroout(struct btrfs_device *device,
265 static inline bool btrfs_dev_is_sequential(struct btrfs_device *device, u64 pos)
267 struct btrfs_zoned_device_info *zone_info = device->zone_info;
275 static inline bool btrfs_dev_is_empty_zone(struct btrfs_device *device, u64 pos)
277 struct btrfs_zoned_device_info *zone_info = device->zone_info;
285 static inline void btrfs_dev_set_empty_zone_bit(struct btrfs_device *device,
288 struct btrfs_zoned_device_info *zone_info = device->zone_info;
301 static inline void btrfs_dev_set_zone_empty(struct btrfs_device *device, u64 pos)
303 btrfs_dev_set_empty_zone_bit(device, pos, true);
306 static inline void btrfs_dev_clear_zone_empty(struct btrfs_device *device, u64 pos)
308 btrfs_dev_set_empty_zone_bit(device, pos, false);
316 * We can allow a regular device on a zoned filesystem, because
326 /* Do not allow Host Manged zoned device */
330 static inline bool btrfs_check_super_location(struct btrfs_device *device, u64 pos)
333 * On a non-zoned device, any address is OK. On a zoned device,
336 return device->zone_info == NULL || !btrfs_dev_is_sequential(device, pos);
339 static inline bool btrfs_can_zone_reset(struct btrfs_device *device,
344 if (!btrfs_dev_is_sequential(device, physical))
347 zone_size = device->zone_info->zone_size;