Re: [PATCH v5 0/7] ZBC / Zoned block device support

2016-09-30 Thread Shaun Tancheff
Hello Bart,

I rebased this series on Jens for-4.9/block and will repost.

Thanks!
--Shaun

On Fri, Sep 30, 2016 at 12:18 PM, Bart Van Assche
 wrote:
> On 09/30/2016 09:47 AM, Shaun Tancheff wrote:
>> On Fri, Sep 30, 2016 at 11:10 AM, Bart Van Assche
>>  wrote:
>>> On 09/29/16 21:11, Damien Le Moal wrote:
 This series introduces support for zoned block devices.
>>>
>>> On top of which kernel version do these patches apply? I tried to apply the
>>> whole series to kernel v4.7 but that caused "git am" to complain ...
>>
>> This series is against linux-next tag next-20160928.
>> You should be able to "git am" the series on top of that.
>
> Hello Shaun,
>
> As far as I know linux-next should not be used as a basis for the
> development of a patch series. Unless something has changed I think
> Jens expects a patch series that applies cleanly on top of his
> for-4.9/block branch. But it doesn't seem like this patch series
> applies cleanly on top of that branch:
>
> $ for p in ~/\[PATCH\ v5\ *; do echo "$(basename "$p")"; git am "$p" || 
> break; done
> [PATCH v5 1_7] block: Add 'zoned' queue limit - Damien Le Moal 
>  - 2016-09-29 2111.eml
> Applying: block: Add 'zoned' queue limit
> [PATCH v5 2_7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes - Damien Le 
> Moal  - 2016-09-29 2111.eml
> Applying: blk-sysfs: Add 'chunk_sectors' to sysfs attributes
> [PATCH v5 3_7] block: update chunk_sectors in blk_stack_limits() - Damien Le 
> Moal  - 2016-09-29 2111.eml
> Applying: block: update chunk_sectors in blk_stack_limits()
> [PATCH v5 4_7] block: Define zoned block device operations - Damien Le Moal 
>  - 2016-09-29 2111.eml
> Applying: block: Define zoned block device operations
> [PATCH v5 5_7] block: Implement support for zoned block devices - Damien Le 
> Moal  - 2016-09-29 2111.eml
> Applying: block: Implement support for zoned block devices
> error: patch failed: block/Makefile:22
> error: block/Makefile: patch does not apply
> error: patch failed: include/uapi/linux/Kbuild:70
> error: include/uapi/linux/Kbuild: patch does not apply
> Patch failed at 0001 block: Implement support for zoned block devices
> The copy of the patch that failed is found in: .git/rebase-apply/patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
>
> Bart.



-- 
Shaun Tancheff
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] ZBC / Zoned block device support

2016-09-30 Thread Bart Van Assche
On 09/30/2016 09:47 AM, Shaun Tancheff wrote:
> On Fri, Sep 30, 2016 at 11:10 AM, Bart Van Assche
>  wrote:
>> On 09/29/16 21:11, Damien Le Moal wrote:
>>> This series introduces support for zoned block devices.
>>
>> On top of which kernel version do these patches apply? I tried to apply the
>> whole series to kernel v4.7 but that caused "git am" to complain ...
> 
> This series is against linux-next tag next-20160928.
> You should be able to "git am" the series on top of that.

Hello Shaun,

As far as I know linux-next should not be used as a basis for the
development of a patch series. Unless something has changed I think
Jens expects a patch series that applies cleanly on top of his
for-4.9/block branch. But it doesn't seem like this patch series
applies cleanly on top of that branch:

$ for p in ~/\[PATCH\ v5\ *; do echo "$(basename "$p")"; git am "$p" || break; 
done
[PATCH v5 1_7] block: Add 'zoned' queue limit - Damien Le Moal 
 - 2016-09-29 2111.eml
Applying: block: Add 'zoned' queue limit
[PATCH v5 2_7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes - Damien Le 
Moal  - 2016-09-29 2111.eml
Applying: blk-sysfs: Add 'chunk_sectors' to sysfs attributes
[PATCH v5 3_7] block: update chunk_sectors in blk_stack_limits() - Damien Le 
Moal  - 2016-09-29 2111.eml
Applying: block: update chunk_sectors in blk_stack_limits()
[PATCH v5 4_7] block: Define zoned block device operations - Damien Le Moal 
 - 2016-09-29 2111.eml
Applying: block: Define zoned block device operations
[PATCH v5 5_7] block: Implement support for zoned block devices - Damien Le 
Moal  - 2016-09-29 2111.eml
Applying: block: Implement support for zoned block devices
error: patch failed: block/Makefile:22
error: block/Makefile: patch does not apply
error: patch failed: include/uapi/linux/Kbuild:70
error: include/uapi/linux/Kbuild: patch does not apply
Patch failed at 0001 block: Implement support for zoned block devices
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] ZBC / Zoned block device support

2016-09-30 Thread Shaun Tancheff
Hi Bart,

This series is against linux-next tag next-20160928.
You should be able to "git am" the series on top of that.

Thanks!
Shaun

On Fri, Sep 30, 2016 at 11:10 AM, Bart Van Assche
 wrote:
> On 09/29/16 21:11, Damien Le Moal wrote:
>>
>> This series introduces support for zoned block devices.
>
>
> Hi Damien,
>
> On top of which kernel version do these patches apply? I tried to apply the
> whole series to kernel v4.7 but that caused "git am" to complain ...
>
> Thank you,
>
> Bart.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-block" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__vger.kernel.org_majordomo-2Dinfo.html=DQIC-g=IGDlg0lD0b-nebmJJ0Kp8A=Wg5NqlNlVTT7Ugl8V50qIHLe856QW0qfG3WVYGOrWzA=VY30muznazMHPib_ks7gWROq97LIrq37TtKOXyYliB0=s2DsgBOJACiLmv56Aw-uehcdexEfBe73hSnqZDfB0xY=



-- 
Shaun Tancheff
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] ZBC / Zoned block device support

2016-09-30 Thread Bart Van Assche

On 09/29/16 21:11, Damien Le Moal wrote:

This series introduces support for zoned block devices.


Hi Damien,

On top of which kernel version do these patches apply? I tried to apply 
the whole series to kernel v4.7 but that caused "git am" to complain ...


Thank you,

Bart.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v5 0/7] ZBC / Zoned block device support

2016-09-29 Thread Damien Le Moal
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.

Changes from v4:
* Changed interface of sd_zbc_setup_read_write

Changes from v3:
* Fixed several typos and tabs/spaces
* Added description of zoned and chunk_sectors queue attributes in
  Documentation/ABI/testing/sysfs-block
* Fixed sd_read_capacity call in sd.c and to avoid missing information on
  the first pass of a disk scan
* Fixed scsi_disk zone related field to use logical block size unit instead
  of 512B sector unit.

Changes from v2:
* Use kcalloc to allocate zone information array for ioctl
* Use kcalloc to allocate zone information array for ioctl
* Export GPL the functions blkdev_report_zones and blkdev_reset_zones
* Shuffled uapi definitions from patch 7 into patch 5

Damien Le Moal (1):
  block: Add 'zoned' queue limit

Hannes Reinecke (4):
  blk-sysfs: Add 'chunk_sectors' to sysfs attributes
  block: update chunk_sectors in blk_stack_limits()
  block: Implement support for zoned block devices
  sd: Implement support for ZBC devices

Shaun Tancheff (2):
  block: Define zoned block device operations
  blk-zoned: implement ioctls

 Documentation/ABI/testing/sysfs-block |  29 ++
 block/Kconfig |   8 +
 block/Makefile|   1 +
 block/blk-core.c  |   4 +
 block/blk-settings.c  |   5 +
 block/blk-sysfs.c |  29 ++
 block/blk-zoned.c | 350 +++
 block/ioctl.c |   4 +
 drivers/scsi/Makefile |   1 +
 drivers/scsi/sd.c | 141 ++--
 drivers/scsi/sd.h |  67 
 drivers/scsi/sd_zbc.c | 627 ++
 include/linux/blk_types.h |   2 +
 include/linux/blkdev.h|  99 ++
 include/scsi/scsi_proto.h |  17 +
 include/uapi/linux/Kbuild |   1 +
 include/uapi/linux/blkzoned.h | 143 
 include/uapi/linux/fs.h   |   4 +
 18 files changed, 1499 insertions(+), 33 deletions(-)
 create mode 100644 block/blk-zoned.c
 create mode 100644 drivers/scsi/sd_zbc.c
 create mode 100644 include/uapi/linux/blkzoned.h

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html