Re: [PATCH] sd: fix uninitialized variable access in error handling

2016-10-21 Thread Shaun Tancheff
- if (ret) > + if (ret) { > + zone_blocks = 0; > goto out; > + } > > same = buf[4] & 0x0f; > if (same > 0) { > -- > 2.9.0 > Reviewed-by: Shaun Tancheff <shaun.tanch...@seagate.com> -- Shaun Tancheff --

Re: [PATCH v8 6/7] sd: Implement support for ZBC devices

2016-10-18 Thread Shaun Tancheff
On Tue, Oct 18, 2016 at 11:58 AM, Jeff Moyer wrote: > Damien Le Moal writes: > >> + if (!is_power_of_2(zone_blocks)) { >> + if (sdkp->first_scan) >> + sd_printk(KERN_NOTICE, sdkp, >> +

Re: [PATCH v5 2/4] fusion: remove iopriority handling

2016-10-13 Thread Shaun Tancheff
On Thu, Oct 13, 2016 at 6:00 PM, Adam Manzanares wrote: > The request priority is now by default coming from the ioc. It was not > clear what this code was trying to do based upon the iopriority class or > data. The driver should check that a device supports priorities

[PATCH v6 6/7] sd: Implement support for ZBC devices

2016-09-30 Thread Shaun Tancheff
t-processing based on code from Shaun Tancheff <shaun.tanch...@seagate.com> * Removed confusing use of 512B sector units in functions interface] Signed-off-by: Damien Le Moal <damien.lem...@hgst.com> Reviewed-by: Christoph Hellwig <h...@lst.de> Reviewed-b

[PATCH v6 5/7] block: Implement support for zoned block devices

2016-09-30 Thread Shaun Tancheff
n 512B sectors) of the zones of the device. Signed-off-by: Hannes Reinecke <h...@suse.de> [Damien: * Removed the zone cache * Implement report zones operation based on earlier proposal by Shaun Tancheff <shaun.tanch...@seagate.com>] Signed-off-by: Damien Le Moal <d

[PATCH v6 7/7] blk-zoned: implement ioctls

2016-09-30 Thread Shaun Tancheff
. The zone information result is passed as an array of struct blk_zone identical to the structure used internally for processing the REQ_OP_ZONE_REPORT operation. The BLKRESETZONE ioctl maps to a single call of the blkdev_reset_zones function. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.

[PATCH v6 3/7] block: update chunk_sectors in blk_stack_limits()

2016-09-30 Thread Shaun Tancheff
From: Hannes Reinecke <h...@suse.de> Signed-off-by: Hannes Reinecke <h...@suse.com> Signed-off-by: Damien Le Moal <damien.lem...@hgst.com> Reviewed-by: Christoph Hellwig <h...@lst.de> Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com> Reviewed-b

[PATCH v6 2/7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes

2016-09-30 Thread Shaun Tancheff
lem...@hgst.com> Reviewed-by: Christoph Hellwig <h...@lst.de> Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com> Reviewed-by: Shaun Tancheff <shaun.tanch...@seagate.com> Tested-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- Documentation/ABI/testing/sysfs-b

[PATCH v6 4/7] block: Define zoned block device operations

2016-09-30 Thread Shaun Tancheff
From: Shaun Tancheff <shaun.tanch...@seagate.com> Define REQ_OP_ZONE_REPORT and REQ_OP_ZONE_RESET for handling zones of host-managed and host-aware zoned block devices. With with these two new operations, the total number of operations defined reaches 8 and still fits with the 3 bits defi

[PATCH v6 1/7] block: Add 'zoned' queue limit

2016-09-30 Thread Shaun Tancheff
as "host-managed". Signed-off-by: Damien Le Moal <damien.lem...@hgst.com> Reviewed-by: Christoph Hellwig <h...@lst.de> Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com> Reviewed-by: Shaun Tancheff <shaun.tanch...@seagate.com> Tested-by: Shaun Tancheff <s

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

2016-09-30 Thread Shaun Tancheff
This series introduces support for zoned block devices. It integrates earlier submissions by Hannes Reinecke, Damien Le Moal and Shaun Tancheff. Compared to the previous series version, the code was significantly simplified by limiting support to zoned devices satisfying the following conditions

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 <bart.vanass...@sandisk.com> wrote: > On 09/30/2016 09:47 AM, Shaun Tancheff wrote: >> On Fri, Sep 30, 2016 at 11:10 AM, Bart Van Assche

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

2016-09-30 Thread Shaun Tancheff
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 v4 6/7] sd: Implement support for ZBC devices

2016-09-28 Thread Shaun Tancheff
* Removed mapping of discard to reset write pointer command > * Modified sd_zbc_read_zones to include checks that the >device satisfies the kernel constraints > * Implemeted REPORT ZONES setup and post-processing based >on code from Shaun Tancheff

Re: [PATCH v4 5/7] block: Implement support for zoned block devices

2016-09-28 Thread Shaun Tancheff
* Implement report zones operation based on earlier proposal >by Shaun Tancheff <shaun.tanch...@seagate.com>] > Signed-off-by: Damien Le Moal <damien.lem...@hgst.com> > --- > block/Kconfig | 8 ++ > block/Makefile| 1 + &g

Re: [PATCH v4 3/7] block: update chunk_sectors in blk_stack_limits()

2016-09-28 Thread Shaun Tancheff
queue_limits *b, > t->discard_granularity; > } > > + if (b->chunk_sectors) > + t->chunk_sectors = min_not_zero(t->chunk_sectors, > + b->chunk_sectors); > + &g

Re: [PATCH v4 2/7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes

2016-09-28 Thread Shaun Tancheff
> .attr = {.name = "minimum_io_size", .mode = S_IRUGO }, > .show = queue_io_min_show, > @@ -555,6 +565,7 @@ static struct attribute *default_attrs[] = { > _hw_sector_size_entry.attr, > _logical_block_size_entry.attr, > _physical_block_size_entry.attr, > + _

Re: [PATCH v4 1/7] block: Add 'zoned' queue limit

2016-09-28 Thread Shaun Tancheff
ite > */ > @@ -1354,6 +1381,26 @@ static inline unsigned int bdev_write_same(struct > block_device *bdev) > return 0; > } > > +static inline enum blk_zoned_model bdev_zoned_model(struct block_device > *bdev) > +{ > + struct request_queue *q = bdev_g

Re: [PATCH v2 3/7] block: update chunk_sectors in blk_stack_limits()

2016-09-27 Thread Shaun Tancheff
queue_limits *b, > t->discard_granularity; > } > > + if (b->chunk_sectors) > + t->chunk_sectors = min_not_zero(t->chunk_sectors, > + b->chunk_sectors); > + &g

Re: [PATCH v2 2/7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes

2016-09-27 Thread Shaun Tancheff
w_sector_size_entry.attr, > _logical_block_size_entry.attr, > _physical_block_size_entry.attr, > + _chunk_sectors_entry.attr, > _io_min_entry.attr, > _io_opt_entry.attr, > _discard_granularity_entry.attr, > -- > 2.7.4 Reviewed-by: Shaun Tancheff

Re: [PATCH v2 1/7] block: Add 'zoned' queue limit

2016-09-27 Thread Shaun Tancheff
uct > block_device *bdev) > return 0; > } > > +static inline enum blk_zoned_model bdev_zoned_model(struct block_device > *bdev) > +{ > + struct request_queue *q = bdev_get_queue(bdev); > + > + if (q) > + return

Re: [PATCH v2 6/7] sd: Implement support for ZBC devices

2016-09-27 Thread Shaun Tancheff
tisfies the kernel constraints > * Implemeted REPORT ZONES setup and post-processing based >on code from Shaun Tancheff <shaun.tanch...@seagate.com>] > Signed-off-by: Damien Le Moal <damien.lem...@hgst.com> > --- > drivers/scsi/Makefile |

[PATCH v3 7/7] blk-zoned: implement ioctls

2016-09-27 Thread Shaun Tancheff
. The zone information result is passed as an array of struct blk_zone identical to the structure used internally for processing the REQ_OP_ZONE_REPORT operation. The BLKRESETZONE ioctl maps to a single call of the blkdev_reset_zones function. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.

[PATCH v3 5/7] block: Implement support for zoned block devices

2016-09-27 Thread Shaun Tancheff
n 512B sectors) of the zones of the device. Signed-off-by: Hannes Reinecke <h...@suse.de> [Damien: * Removed the zone cache * Implement report zones operation based on earlier proposal by Shaun Tancheff <shaun.tanch...@seagate.com>] Signed-off-by: Damien Le Moal <d

Re: [PATCH v2 7/7] blk-zoned: implement ioctls

2016-09-26 Thread Shaun Tancheff
e addressed. > If you are not the intended recipient, any disclosure, copying, distribution > or any action taken or omitted to be taken in reliance on it, is prohibited. > If you have received this e-mail in error, please notify the sender > immediately and delete the e-mail in it

Re: [PATCH v2 7/7] blk-zoned: implement ioctls

2016-09-26 Thread Shaun Tancheff
BLK_ZONE_TYPE_SEQWRITE_REQ, >> - BLK_ZONE_TYPE_SEQWRITE_PREF, >> -}; > > Please don't move this code around after it was added just two > patches earlier. I'd say just split adding the new blkzoned.h > uapi header into a patch of it's own and add that before the > cor

Re: UFS API in the kernel

2016-09-26 Thread Shaun Tancheff
-nebmJJ0Kp8A=Wg5NqlNlVTT7Ugl8V50qIHLe856QW0qfG3WVYGOrWzA=vJFB6pCywWtdvkgHz9Vc0jQz0xzeyZlr-7eCWYu88nM=yiQLPFpqmMrbqLZz1Jb3aNqOje2dRMLJHEzUDobwcXc= -- 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 9/9] blk-zoned: Add ioctl interface for zone operations

2016-09-20 Thread Shaun Tancheff
On Mon, Sep 19, 2016 at 4:27 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > From: Shaun Tancheff <shaun.tanch...@seagate.com> > > Adds the new BLKUPDATEZONES, BLKREPORTZONE, BLKRESETZONE, > BLKOPENZONE, BLKCLOSEZONE and BLKFINISHZONE ioctls. > > BLKREPORTZONE

Re: [PATCH 8/9] sd: Implement support for ZBC devices

2016-09-19 Thread Shaun Tancheff
On Mon, Sep 19, 2016 at 4:27 PM, Damien Le Moal wrote: > From: Hannes Reinecke > > Implement ZBC support functions to setup zoned disks and fill the > block device zone information tree during the device scan. The > zone information tree is also always

Re: patch "libata: Add support for SCT Write Same" breaks system

2016-09-09 Thread Shaun Tancheff
On Fri, Sep 9, 2016 at 10:36 AM, Tejun Heo <t...@kernel.org> wrote: > Hello, Shaun. > > On Fri, Sep 09, 2016 at 10:26:44AM -0500, Shaun Tancheff wrote: >> I'm looking into it now. Let me see if I can reproduce this on any of my >> hardware. >> >> If no

[PATCH] Some drives failing on SCT Write Same

2016-09-09 Thread Shaun Tancheff
Restrict support SCT Write Same to devices which also support ZAC where support is required. Reported-by: Mike Krinkin <krinkin@gmail.com> Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- drivers/ata/libata-scsi.c | 6 +++--- 1 file changed, 3 insertions(+),

Re: patch "libata: Add support for SCT Write Same" breaks system

2016-09-09 Thread Shaun Tancheff
On Fri, Sep 9, 2016 at 10:36 AM, Tejun Heo <t...@kernel.org> wrote: > Hello, Shaun. > > On Fri, Sep 09, 2016 at 10:26:44AM -0500, Shaun Tancheff wrote: >> I'm looking into it now. Let me see if I can reproduce this on any of my >> hardware. >> >> If no

Re: [PATCH v8 1/2 RESEND] Add bio/request flags to issue ZBC/ZAC commands

2016-08-25 Thread Shaun Tancheff
On Thu, Aug 25, 2016 at 9:31 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > > Shaun, > > On 8/25/16 05:24, Shaun Tancheff wrote: >> >> (RESENDING to include f2fs, fs-devel and dm-devel) >> >> Add op flags to access to zone information

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-25 Thread Shaun Tancheff
Tom, In my opinion this patch you submitted is simply making the code less safe against a buffer overflow without a sufficiently good reason. In future please comment on other patches as replies to those patches. Mixing them together is just confusing. --Shaun -- To unsubscribe from this list:

[PATCH v8 2/2 RESEND] Add ioctl to issue ZBC/ZAC commands via block layer

2016-08-24 Thread Shaun Tancheff
(RESENDING to include f2fs, fs-devel and dm-devel) Add support for ZBC ioctl's BLKREPORT - Issue Report Zones to device. BLKZONEACTION - Issue a Zone Action (Close, Finish, Open, or Reset) Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v8: - Changed ioctl fo

[PATCH v8 1/2 RESEND] Add bio/request flags to issue ZBC/ZAC commands

2016-08-24 Thread Shaun Tancheff
-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v8: - Added Finish Zone op - Fixed report zones copy to user to work when HARDENED_USERCOPY is enabled v6: - Added GFP_DMA to gfp mask. v5: - In sd_setup_zone_action_cmnd, remove unused vars and fix switch indent - In blk-l

[PATCH v8 0/2 RESEND] Block layer support ZAC/ZBC commands

2016-08-24 Thread Shaun Tancheff
sepeartion of bio op from flags. - Fixed memory leak in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (2): Add bio/request flags

Re: [PATCH v2 2/4] On Discard either do Reset WP or Write Same

2016-08-23 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 8:25 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > > Shaun, > > On 8/23/16 09:22, Shaun Tancheff wrote: >> On Mon, Aug 22, 2016 at 6:57 PM, Damien Le Moal <damien.lem...@hgst.com> >> wrote: >> Also you may note

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-23 Thread Shaun Tancheff
prevent this patch from entering the repo first. > On 23 August 2016 at 09:36, Tom Yan <tom.t...@gmail.com> wrote: >> On 23 August 2016 at 09:18, Shaun Tancheff <shaun.tanch...@seagate.com> >> wrote: >>> On Tue, Aug 23, 2016 at 3:37 AM, Tom Yan <tom.t...@gmail.com>

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-23 Thread Shaun Tancheff
On Tue, Aug 23, 2016 at 3:37 AM, Tom Yan <tom.t...@gmail.com> wrote: > On 23 August 2016 at 07:30, Shaun Tancheff <sh...@tancheff.com> wrote: > If we really want/need to avoid hitting some real buffer limit (e.g. > maximum length of scatter/gather list?), then we shoul

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-23 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 3:53 PM, Tom Yan <tom.t...@gmail.com> wrote: > On 22 August 2016 at 20:32, Shaun Tancheff <shaun.tanch...@seagate.com> wrote: >> On Mon, Aug 22, 2016 at 3:07 PM, Tom Yan <tom.t...@gmail.com> wrote: >>> I don't see how that's p

Re: [PATCH v2 2/4] On Discard either do Reset WP or Write Same

2016-08-22 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 6:57 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > > Shaun, > > On 8/22/16 13:31, Shaun Tancheff wrote: > [...] >> -int sd_zbc_setup_discard(struct scsi_disk *sdkp, struct request *rq, >> - sector_t sector,

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-22 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 3:07 PM, Tom Yan wrote: > I don't see how that's possible. count / n_block will always be > smaller than 65535 * ATA_MAX_TRIM_RNUM(64) = 4194240. Not to mention > that isn't even a "buffer limit" anyway. By SG_IO do you mean like > SCSI Write Same

Re: [PATCH] ata: do not hard code limit in ata_set_lba_range_entries()

2016-08-22 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 1:55 PM, wrote: > From: Tom Yan > > In commit 5c79097a28c2 ("libata-scsi: reject WRITE SAME (16) with > n_block that exceeds limit"), it is made sure that > ata_set_lba_range_entries() will never be called with a request > size

Re: [PATCH 2/2] Migrate zone cache from RB-Tree to arrays of descriptors

2016-08-22 Thread Shaun Tancheff
On Mon, Aug 22, 2016 at 2:11 AM, Hannes Reinecke <h...@suse.de> wrote: > On 08/22/2016 06:34 AM, Shaun Tancheff wrote: >> Currently the RB-Tree zone cache is fast and flexible. It does >> use a rather largish amount of ram. This model reduces the ram >> required from 120

Re: [PATCH 2/2] Migrate zone cache from RB-Tree to arrays of descriptors

2016-08-21 Thread Shaun Tancheff
On Sun, Aug 21, 2016 at 11:34 PM, Shaun Tancheff <sh...@tancheff.com> wrote: > Currently the RB-Tree zone cache is fast and flexible. It does > use a rather largish amount of ram. This model reduces the ram > required from 120 bytes per zone to 16 bytes per zone with a > moder

[PATCH 2/2] Migrate zone cache from RB-Tree to arrays of descriptors

2016-08-21 Thread Shaun Tancheff
. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- block/blk-core.c |2 +- block/blk-sysfs.c | 31 +- block/blk-zoned.c | 103 +++-- drivers/scsi/sd.c |5 +- drivers/scsi/sd.h |4 +- drivers/scsi/sd_zbc.c

[PATCH 1/2] Move ZBC core setup to sd_zbc

2016-08-21 Thread Shaun Tancheff
Move the remaining ZBC specific code to sd_zbc.c Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- drivers/scsi/sd.c | 65 +-- drivers/scsi/sd.h | 20 ++ drivers/scsi/sd_zbc.c | 170 +++--- 3 files c

[PATCH 0/2] Change zone cache format to use less memory

2016-08-21 Thread Shaun Tancheff
. Shaun Tancheff (2): Move ZBC core setup to sd_zbc Migrate zone cache from RB-Tree to arrays of descriptors block/blk-core.c |2 +- block/blk-sysfs.c | 31 +- block/blk-zoned.c | 103 +++-- drivers/scsi/sd.c | 66 +-- drivers/scsi/sd.h | 20 +- drivers

[PATCH v2 3/4] Merge ZBC constants

2016-08-21 Thread Shaun Tancheff
Dedupe ZBC/ZAC constants used for reporting options, same code, zone condition and zone type. These are all useful to programs consuming zone information from user space as well so include them in a uapi header. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- block/blk

[PATCH v2 4/4] Integrate ZBC command requests with zone cache.

2016-08-21 Thread Shaun Tancheff
and Finish zones having no other analog are sent directly to the device. On successful completion each zone action will update the zone cache as appropriate. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- block/blk-lib.c | 16 -- drivers/scsi/sd.c | 42 +++- driver

[PATCH v2 0/4] Integrate bio/request ZBC ops with zone cache

2016-08-21 Thread Shaun Tancheff
-rc2%2Bbiof.v9 g...@github.com:stancheff/linux.git v4.8-rc2+biof.v9 v2: - Fully integrated bio <-> zone cache [<-> device] - Added discard -> write same for conventional zones. - Merged disparate constants into a canonical set. Shaun Tancheff (4): Enable support for Se

[PATCH v2 1/4] Enable support for Seagate HostAware drives

2016-08-21 Thread Shaun Tancheff
Seagate drives report a SAME code of 0 due to having: - Zones of different types (CMR zones at the low LBA space). - Zones of different size (A terminating 'runt' zone in the high lba space). Support loading the zone topology into the zone cache. Signed-off-by: Shaun Tancheff

[PATCH v8 2/2] Add ioctl to issue ZBC/ZAC commands via block layer

2016-08-21 Thread Shaun Tancheff
Add support for ZBC ioctl's BLKREPORT - Issue Report Zones to device. BLKZONEACTION - Issue a Zone Action (Close, Finish, Open, or Reset) Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v8: - Changed ioctl for zone actions to a single ioctl that takes a str

[PATCH v8 1/2] Add bio/request flags to issue ZBC/ZAC commands

2016-08-21 Thread Shaun Tancheff
zones currently defaults to reporting on all zones. It expected that support for the zone option flag will piggy back on streamid support. The report option flag is useful as it can reduce the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.

[PATCH v8 0/2] Block layer support ZAC/ZBC commands

2016-08-21 Thread Shaun Tancheff
in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (2): Add bio/request flags to issue ZBC/ZAC commands Add ioctl to issue ZBC/ZAC

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-16 Thread Shaun Tancheff
On Tue, Aug 9, 2016 at 11:38 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > Shaun, > > On 8/10/16 12:58, Shaun Tancheff wrote: >> >> On Tue, Aug 9, 2016 at 3:09 AM, Damien Le Moal <damien.lem...@hgst.com> >> wrote: >>>> >>>>

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-15 Thread Shaun Tancheff
On Mon, Aug 15, 2016 at 11:00 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > > Shaun, > >> On Aug 14, 2016, at 09:09, Shaun Tancheff <shaun.tanch...@seagate.com> wrote: > […] >>>> >>> No, surely not. >>> But one of the _big_ advant

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-14 Thread Shaun Tancheff
On Tue, Aug 9, 2016 at 1:47 AM, Hannes Reinecke <h...@suse.de> wrote: > On 08/05/2016 10:35 PM, Shaun Tancheff wrote: >> On Tue, Aug 2, 2016 at 8:29 PM, Damien Le Moal <damien.lem...@hgst.com> >> wrote: >>> Hannes, Shaun, >>> >>> Let me add

Re: [RFC] libata-scsi: make sure Maximum Write Same Length is not too large

2016-08-12 Thread Shaun Tancheff
r sector as the largest guaranteed amount of data in the associated sg pages. Keying off of sector_size should be straight forward there... -- 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 3/5] sd: Implement support for ZBC devices

2016-08-12 Thread Shaun Tancheff
line\n", > + zone->start); > + goto out; > + } > + > + if (rq->cmd_flags & (REQ_WRITE | REQ_WRITE_SAME)) { > + if (zone->type != BLK_ZONE_TYPE_SEQWRITE_REQ) > + goto out; > + if (zone->state == BLK_ZONE_READONLY) > + goto out; > + if (blk_zone_is_full(zone)) { > + sd_zbc_debug(sdkp, > +"Write to full zone %zu/%zu\n", > +sector, zone->wp); > + ret = BLKPREP_KILL; > + goto out; > + } > + if (zone->wp != sector) { > + sd_zbc_debug(sdkp, > +"Misaligned write %zu/%zu\n", > +sector, zone->wp); > + ret = BLKPREP_KILL; > + goto out; > + } > + zone->wp += num_sectors; > + } else if (blk_zone_is_smr(zone) && (zone->wp <= sector)) { > + sd_zbc_debug(sdkp, > +"Read beyond wp %zu/%zu\n", > +sector, zone->wp); > + ret = BLKPREP_DONE; > + } > + > +out: > + spin_unlock_irqrestore(>lock, flags); > + > + return ret; > +} > + > +int sd_zbc_setup(struct scsi_disk *sdkp, char *buf, int buf_len) > +{ > + sector_t capacity = logical_to_sectors(sdkp->device, sdkp->capacity); > + sector_t last_sector; > + > + if (test_and_set_bit(SD_ZBC_ZONE_INIT, >zone_flags)) { > + sdev_printk(KERN_WARNING, sdkp->device, > + "zone initialisation already running\n"); > + return 0; > + } > + > + if (!sdkp->zone_work_q) { > + char wq_name[32]; > + > + sprintf(wq_name, "zbc_wq_%s", sdkp->disk->disk_name); > + sdkp->zone_work_q = create_singlethread_workqueue(wq_name); > + if (!sdkp->zone_work_q) { > + sdev_printk(KERN_WARNING, sdkp->device, > + "create zoned disk workqueue failed\n"); > + return -ENOMEM; > + } > + } else if (!test_and_set_bit(SD_ZBC_ZONE_RESET, >zone_flags)) { > + drain_workqueue(sdkp->zone_work_q); > + clear_bit(SD_ZBC_ZONE_RESET, >zone_flags); > + } > + > + last_sector = zbc_parse_zones(sdkp, buf, buf_len); > + if (last_sector != -1 && last_sector < capacity) { > + sd_zbc_update_zones(sdkp, last_sector, SD_ZBC_BUF_SIZE, > false); > + } else > + clear_bit(SD_ZBC_ZONE_INIT, >zone_flags); > + > + return 0; > +} > + > +void sd_zbc_remove(struct scsi_disk *sdkp) > +{ > + if (sdkp->zone_work_q) { > + if (!test_and_set_bit(SD_ZBC_ZONE_RESET, >zone_flags)) > + drain_workqueue(sdkp->zone_work_q); > + clear_bit(SD_ZBC_ZONE_INIT, >zone_flags); > + destroy_workqueue(sdkp->zone_work_q); > + } > +} > -- > 1.8.5.6 > > -- > 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 > https://urldefense.proofpoint.com/v2/url?u=http-3A__vger.kernel.org_majordomo-2Dinfo.html=CwIBAg=IGDlg0lD0b-nebmJJ0Kp8A=Wg5NqlNlVTT7Ugl8V50qIHLe856QW0qfG3WVYGOrWzA=TECAPpeng5OMyCHPt1hU8vo6KAxzybSw2on8YvGxkFA=FuZ8S92fAROISBQ96aUzY73nDV4L0J8ME36u9FCTWK8= -- 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

[PATCH] Update WRITE_SAME timeout in sd_setup_discard_cmnd

2016-08-11 Thread Shaun Tancheff
In sd_setup_discard_cmnd() there are a some discard methods that fall back to using WRITE_SAME. It appears that those paths using WRITE_SAME should also use the SD_WRITE_SAME_TIMEOUT instead of the default SD_TIMEOUT. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- I don'

Re: [RFC] libata-scsi: make sure Maximum Write Same Length is not too large

2016-08-11 Thread Shaun Tancheff
On Thu, Aug 11, 2016 at 3:26 AM, wrote: > From: Tom Yan > > Currently we advertise Maximum Write Same Length based on the > maximum number of sectors that one-block TRIM payload can cover. > The field are used to derived discard_max_bytes and >

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-09 Thread Shaun Tancheff
; 1 kirihara-cho, Fujisawa, > Kanagawa, 252-0888 Japan > www.hgst.com > > Western Digital Corporation (and its subsidiaries) E-mail Confidentiality > Notice & Disclaimer: > > This e-mail and any files transmitted with it may contain confidential or > legally privileged information of

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-09 Thread Shaun Tancheff
On Tue, Aug 9, 2016 at 1:47 AM, Hannes Reinecke <h...@suse.de> wrote: > On 08/05/2016 10:35 PM, Shaun Tancheff wrote: >> On Tue, Aug 2, 2016 at 8:29 PM, Damien Le Moal <damien.lem...@hgst.com> >> wrote: >>>> On Aug 2, 2016, at 23:35, Hannes Reinecke <h..

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-05 Thread Shaun Tancheff
On Tue, Aug 2, 2016 at 8:29 PM, Damien Le Moal <damien.lem...@hgst.com> wrote: > Hannes, Shaun, > > Let me add some more comments. > >> On Aug 2, 2016, at 23:35, Hannes Reinecke <h...@suse.de> wrote: >> >> On 08/01/2016 07:07 PM, Shaun Tancheff wrote: >

Re: [PATCH 37/45] drivers: use req op accessor

2016-08-04 Thread Shaun Tancheff
On Thu, Aug 4, 2016 at 10:46 AM, Christoph Hellwig <h...@infradead.org> wrote: > On Wed, Aug 03, 2016 at 07:30:29PM -0500, Shaun Tancheff wrote: >> I think the translation in loop.c is suspicious here: >> >> "if use DIO && not (a flush_fl

Re: [PATCH 37/45] drivers: use req op accessor

2016-08-03 Thread Shaun Tancheff
= Lo_bound) return -EIO; - if (lo->use_dio && (!(cmd->rq->cmd_flags & REQ_FLUSH) || - req_op(cmd->rq) == REQ_OP_DISCARD)) + if (lo->use_dio && !( + (cmd->rq->cmd_flags & REQ_FLUSH) || +req_op(cmd->rq) == REQ_OP_DISCARD)) cmd->use_aio = true; else cmd->use_aio = false; -- 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

[PATCH 2/2] Enable support for Seagate HostAware drives (testing).

2016-08-03 Thread Shaun Tancheff
Seagate drives report a SAME code of 0 due to having: - Zones of different types (CMR zones at the low LBA space). - Zones of different size (A terminating 'runt' zone in the high lba space). Support loading the zone topology into the sd_zbc zone cache. Signed-off-by: Shaun Tancheff

[PATCH 1/2] bio/zbc support for zone cache

2016-08-03 Thread Shaun Tancheff
Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> Cc: Hannes Reinecke <h...@suse.de> Cc: Damien Le Moal <damien.lem...@hgst.com> Cc: Dan Williams <dan.j.willi...@intel.com> Cc: Sagi Grimberg <sa...@mellanox.com> Cc: Mike Christie <mchri...@redhat.com> Cc

Re: [PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-08-01 Thread Shaun Tancheff
gt; https://urldefense.proofpoint.com/v2/url?u=http-3A__vger.kernel.org_majordomo-2Dinfo.html=CwIBAg=IGDlg0lD0b-nebmJJ0Kp8A=Wg5NqlNlVTT7Ugl8V50qIHLe856QW0qfG3WVYGOrWzA=0ZPyN4vfYZXSmuCmIm3wpExF1K28PYO9KmgcqDsfQBg=aiguzw5_op7woZCZ5Qi7c36b16SxiWTJXshN0dG3Xyo= -- Shaun Tancheff -- To unsubscribe fr

Re: [PATCH 1/5] sd: configure ZBC devices

2016-08-01 Thread Shaun Tancheff
; + } It's a bit unfortunate that you abort here. The current Seagate Host Aware drives must report a same code of 0 here due to the final 'runt' zone and are therefore not supported by your RB-Tree in the following patches. > + /* Read the zone length from the first zone descriptor */ > + d

[PATCH v6 0/2] Block layer support ZAC/ZBC commands

2016-07-29 Thread Shaun Tancheff
: - Changed bi_rw to op_flags clarify sepeartion of bio op from flags. - Fixed memory leak in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun

[PATCH v6 1/2] Add bio/request flags to issue ZBC/ZAC commands

2016-07-29 Thread Shaun Tancheff
of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v5: - In sd_setup_zone_action_cmnd, remove unused vars and fix switch indent - In blk-lib fix documentation v4: - Rebase on linux-next tag next-20160617. - Change bio flags to bio o

[PATCH v6 2/2] Add ioctl to issue ZBC/ZAC commands via block layer

2016-07-29 Thread Shaun Tancheff
Add support for ZBC ioctl's BLKREPORT- Issue Report Zones to device. BLKOPENZONE - Issue Zone Action: Open Zone command. BLKCLOSEZONE - Issue Zone Action: Close Zone command. BLKRESETZONE - Issue Zone Action: Reset Zone command. Signed-off-by: Shaun Tancheff <shaun.ta

Re: [PATCH v3] Add support for SCT Write Same

2016-06-21 Thread Shaun Tancheff
On Tue, Jun 21, 2016 at 9:43 PM, Martin K. Petersen <martin.peter...@oracle.com> wrote: >>>>>> "Shaun" == Shaun Tancheff <sh...@tancheff.com> writes: > > Shaun> SATA drives may support write same via SCT. This is useful for > Shaun>

[PATCH v5 1/2] Add bio/request flags for using ZBC/ZAC commands

2016-06-20 Thread Shaun Tancheff
for that operation. Report zones currently defaults to reporting on all zones. It expected that support for the zone option flag will piggy back on streamid support. The report option flag is useful as it can reduce the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff

[PATCH v5 2/2] Add ioctl to issue ZBC/ZAC commands via block layer

2016-06-20 Thread Shaun Tancheff
Add New ioctl types BLKREPORT- Issue Report Zones to device. BLKOPENZONE - Issue an Zone Action: Open Zone command. BLKCLOSEZONE - Issue an Zone Action: Close Zone command. BLKRESETZONE - Issue an Zone Action: Reset Zone command. Signed-off-by: Shaun Tancheff <shaun.ta

[PATCH v5 0/2] Block layer support ZAC/ZBC commands

2016-06-20 Thread Shaun Tancheff
(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (2): Add bio/request flags for using ZBC/ZAC commands Add ioctl to issue ZBC/ZAC commands via block layer MAINTAINERS

[PATCH v3] Add support for SCT Write Same

2016-06-20 Thread Shaun Tancheff
but fail to zero blocks reliably. For example a file-system or DM target could issue a write same w/o unmap followed by an trim. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v3: - Demux UNMAP/TRIM from WRITE SAME v2: - Remove fugly ata hacking from sd.c --- drivers/ata/

[PATCH v3] Add support for Write Same via SCT

2016-06-20 Thread Shaun Tancheff
...@github.com:stancheff/linux.git branch: v4.7-rc2+sct-write-same.v3 v3: - Demux UNMAP/TRIM from WRITE SAME - Add offset from scatterlist to page address. v2: - Remove fugly ata hacking from sd.c Shaun Tancheff (1): Add support for SCT Write Same drivers/ata/libata-scsi.c | 80

[PATCH v4 0/2] Block layer support ZAC/ZBC commands

2016-06-19 Thread Shaun Tancheff
in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (2): Add bio/request flags for using ZBC/ZAC commands Add ioctl to issue ZBC/ZAC

[PATCH v4 2/2] Add ioctl to issue ZBC/ZAC commands via block layer

2016-06-19 Thread Shaun Tancheff
Add New ioctl types BLKREPORT- Issue Report Zones to device. BLKOPENZONE - Issue an Zone Action: Open Zone command. BLKCLOSEZONE - Issue an Zone Action: Close Zone command. BLKRESETZONE - Issue an Zone Action: Reset Zone command. Signed-off-by: Shaun Tancheff <shaun.ta

[PATCH v4 1/2] Add bio/request flags for using ZBC/ZAC commands

2016-06-19 Thread Shaun Tancheff
for that operation. Report zones currently defaults to reporting on all zones. It expected that support for the zone option flag will piggy back on streamid support. The report option flag is useful as it can reduce the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff

Re: [PATCH v3 3/3] Add ata pass-through path for ZAC commands.

2016-06-10 Thread Shaun Tancheff
On Fri, Jun 10, 2016 at 2:19 AM, Hannes Reinecke <h...@suse.de> wrote: > On 06/10/2016 09:10 AM, Shaun Tancheff wrote: >> The current generation of HBA SAS adapters support connecting SATA >> drives and perform SCSI<->ATA translations in hardware. >> Unfortunate

[PATCH v3 1/3] Add bio/request flags for using ZBC/ZAC commands

2016-06-10 Thread Shaun Tancheff
the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- V3: - Rebase on Mike Cristie's separate bio operations - Update blkzoned_api.h to include report zones PARTIAL bit. V2: - Changed bi_rw to op_flags clarify sepeartion of

[PATCH v3 1/3] Add bio/request flags for using ZBC/ZAC commands

2016-06-10 Thread Shaun Tancheff
the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- V3: - Rebase on Mike Cristie's separate bio operations - Update blkzoned_api.h to include report zones PARTIAL bit. V2: - Changed bi_rw to op_flags clarify sepeartion of

[PATCH v3 2/3] Add ioctl to issue ZBC/ZAC commands via block layer

2016-06-10 Thread Shaun Tancheff
Add New ioctl types BLKREPORT- Issue Report Zones to device. BLKOPENZONE - Issue an Zone Action: Open Zone command. BLKCLOSEZONE - Issue an Zone Action: Close Zone command. BLKRESETZONE - Issue an Zone Action: Reset Zone command. Signed-off-by: Shaun Tancheff <shaun.ta

[PATCH v3 0/3] Block layer support ZAC/ZBC commands

2016-06-10 Thread Shaun Tancheff
of bio op from flags. - Fixed memory leak in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (3): Add bio/request flags for using ZBC

[PATCH v3 3/3] Add ata pass-through path for ZAC commands.

2016-06-10 Thread Shaun Tancheff
rloads the meaning of REQ_META to direct ZBC commands to construct ZAC equivalent ATA pass through commands. Note also that this approach expects the initiator to deal with the little endian result due to bypassing the normal translation layers. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.co

Re: [PATCH v2] Add support for SCT Write Same

2016-06-09 Thread Shaun Tancheff
lable follow the SCT path else fail with the current error (unmap is not set). In this way if you device supports both TRIM and SCT then you can WRITE SAME or TRIM. > - Shouldn't we still translate discard command to TRIM? Maybe we >need a check of the operation in the request structure..

[PATCH v2] Add support for SCT Write Same

2016-06-09 Thread Shaun Tancheff
SATA drives may support write same via SCT. This is useful for setting the drive contents to a specific pattern (0's). Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v2: - Remove fugly ata hacking from sd.c --- drivers/ata/libata-scsi.c

[PATCH v2] Add support for Write Same via SCT

2016-06-09 Thread Shaun Tancheff
data by mapping discard operations to reset write pointer operations. Conventional zones that do not support reset write pointer can still honor the discard zeroes data by issuing a write same over the zone. v2: - Remove fugly ata hacking from sd.c Shaun Tancheff (1): Add support for SCT Write

Re: [PATCH] Add support for SCT Write Same

2016-06-09 Thread Shaun Tancheff
On Wed, Jun 8, 2016 at 10:39 PM, Martin K. Petersen <martin.peter...@oracle.com> wrote: > > >>>>> "Shaun" == Shaun Tancheff <sh...@tancheff.com> writes: > > Shaun, > > Shaun> SATA drives may support write same via SCT. This is useful for &g

[PATCH v2 3/4] Add ioctl to issue ZBC/ZAC commands via block layer

2016-06-07 Thread Shaun Tancheff
Add New ioctl types BLKREPORT- Issue Report Zones to device. BLKOPENZONE - Issue an Zone Action: Open Zone command. BLKCLOSEZONE - Issue an Zone Action: Close Zone command. BLKRESETZONE - Issue an Zone Action: Reset Zone command. Signed-off-by: Shaun Tancheff <shaun.ta

[PATCH v2 4/4] Add ata pass-through path for ZAC commands.

2016-06-07 Thread Shaun Tancheff
rloads the meaning of REQ_META to direct ZBC commands to construct ZAC equivalent ATA pass through commands. Note also that this approach expects the initiator to deal with the little endian result due to bypassing the normal translation layers. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.co

[PATCH v2 2/4] Add bio/request flags for using ZBC/ZAC commands

2016-06-07 Thread Shaun Tancheff
the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- V2: - Changed bi_rw to op_flags clarify sepeartion of bio op from flags. - Fixed memory leak in blkdev_issue_zone_report failing to put_bio(). - Document

[PATCH v2 0/4] Block layer support ZAC/ZBC commands

2016-06-07 Thread Shaun Tancheff
leak in blkdev_issue_zone_report failing to put_bio(). - Documented opt in blkdev_issue_zone_report. - Moved include/uapi/linux/fs.h changes to patch 3 - Fixed commit message for first patch in series. Shaun Tancheff (4): Losing bits on request.cmd_flags Add bio/request flags for using ZBC

[PATCH v2 1/4] Losing bits on request.cmd_flags

2016-06-07 Thread Shaun Tancheff
-send-email-mchri...@redhat.com Once Mike's patches are stablized this patch can be dropped. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- v2: - Fixed commit message block/blk-core.c | 17 ++--- block/blk-merge.c| 2 +- block/bl

Re: [PATCH 2/4] Add bio/request flags for using ZBC/ZAC commands

2016-06-06 Thread Shaun Tancheff
On Mon, Jun 6, 2016 at 10:39 AM, Shaun Tancheff <sh...@tancheff.com> wrote: > > T10 ZBC and T13 ZAC specify operations for Zoned devices. > > To be able to access the zone information and open and close zones > adding flags for the report zones command (REQ_REPORT_ZONES) and

  1   2   >