Message ID | 20210520042228.974083-4-damien.lemoal@wdc.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Mike Snitzer |
Headers | show |
Series | dm: Improve zoned block device support | expand |
On 5/20/21 6:22 AM, Damien Le Moal wrote: > Introduce the BIO flag BIO_ZONE_WRITE_LOCKED to indicate that a BIO owns > the write lock of the zone it is targeting. This is the counterpart of > the struct request flag RQF_ZONE_WRITE_LOCKED. > > This new BIO flag is reserved for now for zone write locking control > for device mapper targets exposing a zoned block device. Since in this > case, the lock flag must not be propagated to the struct request that > will be used to process the BIO, a BIO private flag is used rather than > changing the RQF_ZONE_WRITE_LOCKED request flag into a common REQ_XXX > flag that could be used for both BIO and request. This avoids conflicts > down the stack with the block IO scheduler zone write locking > (in mq-deadline). > > Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> > Reviewed-by: Christoph Hellwig <hch@lst.de> > --- > include/linux/blk_types.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h > index db026b6ec15a..e5cf12f102a2 100644 > --- a/include/linux/blk_types.h > +++ b/include/linux/blk_types.h > @@ -304,6 +304,7 @@ enum { > BIO_CGROUP_ACCT, /* has been accounted to a cgroup */ > BIO_TRACKED, /* set if bio goes through the rq_qos path */ > BIO_REMAPPED, > + BIO_ZONE_WRITE_LOCKED, /* Owns a zoned device zone write lock */ > BIO_FLAG_LAST > }; > > I would have merged this with the patch actually using it, but this is probably a personal preference. Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index db026b6ec15a..e5cf12f102a2 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -304,6 +304,7 @@ enum { BIO_CGROUP_ACCT, /* has been accounted to a cgroup */ BIO_TRACKED, /* set if bio goes through the rq_qos path */ BIO_REMAPPED, + BIO_ZONE_WRITE_LOCKED, /* Owns a zoned device zone write lock */ BIO_FLAG_LAST };