All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Damien Le Moal <damien.lemoal@wdc.com>
Cc: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	Christoph Hellwig <hch@lst.de>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Hannes Reinecke <hare@suse.de>,
	Shaun Tancheff <shaun@tancheff.com>
Subject: Re: [PATCH v8 0/7] ZBC / Zoned block device support
Date: Tue, 18 Oct 2016 09:58:00 -0600	[thread overview]
Message-ID: <2a80d950-c831-9ac6-1969-dc6386e58236@kernel.dk> (raw)
In-Reply-To: <1476772835-18541-1-git-send-email-damien.lemoal@wdc.com>

On 10/18/2016 12:40 AM, Damien Le Moal wrote:
> This series introduces support for zoned block devices. It integrates
> earlier submissions by Hannes Reinecke and Shaun Tancheff. Compared to the
> previous series version, the code was significantly simplified by limiting
> support to zoned devices satisfying the following conditions:
> 1) All zones of the device are the same size, with the exception of an
>    eventual last smaller runt zone.
> 2) For host-managed disks, reads must be unrestricted (read commands do not
>    fail due to zone or write pointer alignement constraints).
> Zoned disks that do not satisfy these 2 conditions are ignored.
>
> These 2 conditions allowed dropping the zone information cache implemented
> in the previous version. This simplifies the code and also reduces the memory
> consumption at run time. Support for zoned devices now only require one bit
> per zone (less than 8KB in total). This bit field is used to write-lock
> zones and prevent the concurrent execution of multiple write commands in
> the same zone. This avoids write ordering problems at dispatch time, for
> both the simple queue and scsi-mq settings.
>
> The new operations introduced to suport zone manipulation was reduced to
> only the two main ZBC/ZAC defined commands: REPORT ZONES (REQ_OP_ZONE_REPORT)
> and RESET WRITE POINTER (REQ_OP_ZONE_RESET). This brings the total number of
> operations defined to 8, which fits in the 3 bits (REQ_OP_BITS) reserved for
> operation code in bio->bi_opf and req->cmd_flags.
>
> Most of the ZBC specific code is kept out of sd.c and implemented in the
> new file sd_zbc.c. Similarly, at the block layer, most of the zoned block
> device code is implemented in the new blk-zoned.c.
>
> For host-managed zoned block devices, the sequential write constraint of
> write pointer zones is exposed to the user. Users of the disk (applications,
> file systems or device mappers) must sequentially write to zones. This means
> that for raw block device accesses from applications, buffered writes are
> unreliable and direct I/Os must be used (or buffered writes with O_SYNC).
>
> Access to zone manipulation operations is also provided to applications
> through a set of new ioctls. This allows applications operating on raw
> block devices (e.g. mkfs.xxx) to discover a device zone layout and
> manipulate zone state.

This is starting to look mergeable to me. Any objections in getting this
applied for 4.10? Looks like 6/7 should go through the SCSI tree, but I
can queue up the rest.

-- 
Jens Axboe

  parent reply	other threads:[~2016-10-18 15:58 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-18  6:40 [PATCH v8 0/7] ZBC / Zoned block device support Damien Le Moal
2016-10-18  6:40 ` Damien Le Moal
2016-10-18  6:40 ` [PATCH v8 1/7] block: Add 'zoned' queue limit Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18  6:42   ` Hannes Reinecke
2016-10-18  6:42     ` Hannes Reinecke
2016-10-18  6:40 ` [PATCH v8 2/7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18 16:43   ` Jeff Moyer
2016-10-18 16:43     ` Jeff Moyer
2016-10-18 23:17     ` Damien Le Moal
2016-10-18 23:17       ` Damien Le Moal
2016-10-18  6:40 ` [PATCH v8 3/7] block: update chunk_sectors in blk_stack_limits() Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18  6:40 ` [PATCH v8 4/7] block: Define zoned block device operations Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18  6:40 ` [PATCH v8 5/7] block: Implement support for zoned block devices Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18  6:40 ` [PATCH v8 6/7] sd: Implement support for ZBC devices Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18 16:58   ` Jeff Moyer
2016-10-18 16:58     ` Jeff Moyer
2016-10-18 18:22     ` Shaun Tancheff
2016-10-18 18:22       ` Shaun Tancheff
2016-10-19 13:23       ` Jeff Moyer
2016-10-19  0:44     ` Martin K. Petersen
2016-10-19  0:44       ` Martin K. Petersen
2016-10-19 13:21       ` Jeff Moyer
2016-10-19 13:21         ` Jeff Moyer
2016-10-19  0:47   ` Martin K. Petersen
2016-10-19  0:47     ` Martin K. Petersen
2016-10-18  6:40 ` [PATCH v8 7/7] blk-zoned: implement ioctls Damien Le Moal
2016-10-18  6:40   ` Damien Le Moal
2016-10-18 15:58 ` Jens Axboe [this message]
2016-10-18 23:15   ` [PATCH v8 0/7] ZBC / Zoned block device support Damien Le Moal
2016-10-18 23:15     ` Damien Le Moal
2016-10-19  0:46   ` Martin K. Petersen
2016-10-19  1:49     ` Jens Axboe
2016-10-19  1:53       ` Martin K. Petersen
2016-10-19  1:59         ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2a80d950-c831-9ac6-1969-dc6386e58236@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=damien.lemoal@wdc.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=shaun@tancheff.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.