bcache: set queue->limits.max_zone_append_sectors for REQ_OP_ZONE_APPEND

To support zone append bios, all bcache should do is to provide a bio
split hint in queue->limits.max_zone_append_sectors. Then upper layer
code will split its bio if the length exceeds the maximum zone append
sectors. For other zone append related stuffs, bcache just does the LBA
conversion for the sb->data_offset, and forward the bios betweeen upper
layer and underlying zoned device, which are already done in previous
zoned device support patches.

This patch initializes max_zone_append_sectors for the bcache device's
queue, the value is just copy from the queue of underlying zoned drive.
Now upper layer code (e.g. zonefs on top of bcache) can see a non-zero
max_zone_append_sectors from the bcache device's queue, and issue zone
append bios in.

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>
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 9049e1f..8cbc39c 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1382,6 +1382,8 @@
 
 		d_q->limits.zoned = model;
 		blk_queue_chunk_sectors(d_q, b_q->limits.chunk_sectors);
+		blk_queue_max_zone_append_sectors(d_q,
+				b_q->limits.max_zone_append_sectors);
 		/*
 		 * (dc->sb.data_offset / q->limits.chunk_sectors) is the
 		 * zones number reserved for bcache super block. By default