tree dd14e3f18aad986c2dc3b67a4578be6b88ea0895
parent 04ac37cbb2bcc5a953e29796d2db9e4eb1f5f7c9
author Coly Li <colyli@suse.de> 1591026837 +0800
committer Coly Li <colyli@suse.de> 1591172613 +0800

bcache: handle zone management bios for bcache device

Fortunately the zoned device management interface is designed to use bio
operations, the bcache code just needs to do a little change to handle
the zone management bios.

Bcache driver needs to handle 4 zone management bios for now, all of
them are handled by cached_dev_nodata() since their bi_size are 0.
- REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE, REQ_OP_ZONE_FINISH:
    The LBA conversion is already done in cached_dev_make_request(),
  just simply send such zone management bios to backing device is
  enough.
- REQ_OP_ZONE_RESET
    If the cache device holds data of the target zone, cache
  invalidation is needed before forwarding the zone reset bio to backing
  device. Otherwise data inconsistency or further corruption may happen
  from the view of bcache device.

NOTE: zone managemen bio REQ_OP_ZONE_RESET_ALL won't be supported. The
bcache backing device may only stay on part of the hard drive, resetting
all the hard drive will propably cause very unhappy result.

By supporting zone management bios with this patch, now a bcache device
can be formatted by zonefs, and the zones can be reset by truncate -s 0
on the zone files under seq/ directory.

Signed-off-by: Coly Li <colyli@suse.de>
Cc: Damien Le Moal <damien.lemoal@wdc.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
