[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 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 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 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

[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 2/4] Add bio/request flags for using ZBC/ZAC commands

2016-06-06 Thread Shaun Tancheff
the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- MAINTAINERS | 9 ++ block/blk-lib.c | 96 + drivers/scsi/sd.c | 99 +- drivers/scs

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

2016-06-06 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 0/4] Block layer support ZAC/ZBC commands

2016-06-06 Thread Shaun Tancheff
"James E.J. Bottomley" <j...@linux.vnet.ibm.com> Cc: "Martin K. Petersen" <martin.peter...@oracle.com> Cc: Jeff Layton <jlay...@poochiereds.net> Cc: "J. Bruce Fields" <bfie...@fieldses.org> Shaun Tancheff (4): Losing bits on request.cmd_f

[PATCH 1/4] Add support for SCT Write Same

2016-06-06 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> --- block/blk-core.c | 17 ++--- block/blk-merge.c| 2 +- block/blk-mq.c

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

2016-06-06 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...@se

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

[PATCH] Add support for SCT Write Same

2016-06-06 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> --- drivers/ata/libata-scsi.c | 31 + drivers/scsi/sd.c

[PATCH] Add support for Write Same via SCT

2016-06-06 Thread Shaun Tancheff
tersen" <martin.peter...@oracle.com> Cc: Tejun Heo <t...@kernel.org> Shaun Tancheff (1): Add support for SCT Write Same drivers/ata/libata-scsi.c | 32 drivers/scsi/sd.c | 21 +---

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 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 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 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

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] 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 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 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 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 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 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 v2 2/3] Add bio/request flags for using ZBC/ZAC commands

2016-04-05 Thread Shaun Tancheff
not implimented as there is no current use case for that operation. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- MAINTAINERS | 9 ++ block/blk-lib.c | 125 ++ drivers/scsi/sd.c | 107 +++ d

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

2016-04-05 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 1/3] Add ZBC <-> ZAC xlat support for report, open, close, reset, finish

2016-04-05 Thread Shaun Tancheff
Add SCSI <-> ATA translation layer for ZBC commands: - Open, Close, and Finish zones Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- drivers/ata/libata-scsi.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/ata/libata-scsi.c b/driver

Re: [PATCHv2 11/14] libata: Implement ZBC OUT translation

2016-04-12 Thread Shaun Tancheff
XT pages */ > ATA_LOG_DIRECTORY = 0x0, > ATA_LOG_SATA_NCQ= 0x10, > diff --git a/include/trace/events/libata.h b/include/trace/events/libata.h > index b966417..3032edc 100644 > --- a/include/trace/events/libata.h > +++ b/include/trace/events/libata.h &g

Re: [PATCH 0/9] block/scsi: Implement SMR drive support

2016-04-08 Thread Shaun Tancheff
+++ > include/linux/blk-mq.h | 1 + > include/linux/blkdev.h | 48 ++ > 15 files changed, 933 insertions(+), 20 deletions(-) > create mode 100644 block/blk-zoned.c > create mode 100644 drivers/scsi/sd_zbc.c > > -- > 1.8.5.6 > -- 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 03/12] BUG: Losing bits on request.cmd_flags

2016-04-03 Thread Shaun Tancheff
In a few places a temporary value smaller than a cmd_flags is used to test for bits and or build up a new cmd_flags. Change to use explicit u64 values where appropriate. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- block/blk-core.c | 17 ++--- blo

[PATCH 00/12] Block support for zoned drives

2016-04-03 Thread Shaun Tancheff
.com/Seagate/ZDM-Device-Mapper And a fork of Linus kernel with ZDM branches is available here: https://github.com/stancheff/linux Shaun Tancheff (12): Add ZBC <-> ZAC xlat support for report, open, close, reset, finish ata-scsi: Translate ReportZones result to big endian BUG: Losing b

[PATCH 01/12] Add ZBC <-> ZAC xlat support for report, open, close, reset, finish

2016-04-03 Thread Shaun Tancheff
Provide SCSI <-> ATA translation layer for ZBC commands: - Report Zones - Open, Close, Reset and Finish zones Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- drivers/ata/libata-scsi.c | 167 ++ include/linux/ata.h

[PATCH 02/12] ata-scsi: Translate ReportZones result to big endian

2016-04-03 Thread Shaun Tancheff
be translated from T13 to T10 format. Add this T13->T10 translation on the result from Report Zones. Code originially from: Hannes Reinecke <h...@suse.de> with minor changes. http://kernel.opensuse.org/cgit/kernel-source/commit/?id=6e219225108bf49c59aa69d14f3cbc74708777ae Signed-off-

[PATCH 05/12] Add ioctl to issue ZBC/ZAC commands via block layer

2016-04-03 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 06/12] Add ata pass-through path for ZAC commands.

2016-04-03 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...@se

[PATCH 09/12] RAID 4/5/6: Fine-grained TRIM enable for ZDM

2016-04-03 Thread Shaun Tancheff
to communicate to MD-RAID that enabling discard is safe. This method is also more targeted. Devices are not expected to set this parameter directly. And the kernel module parameter which assumes devices are unsafe remains intact. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- blo

[PATCH 04/12] Add bio/request flags for using ZBC/ZAC commands

2016-04-03 Thread Shaun Tancheff
as there is no current use case for that operation. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- MAINTAINERS | 9 ++ block/blk-lib.c | 120 + drivers/scsi/sd.c | 109 ++- drivers/scs

[PATCH 11/12] Stream Id: Use PID to seed Stream Id construction.

2016-04-03 Thread Shaun Tancheff
. Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- drivers/md/dm-zoned.c | 12 +++- fs/ext4/file.c| 1 + fs/xfs/xfs_aops.c | 2 +- fs/xfs/xfs_file.c | 1 + include/linux/fs.h| 10 -- 5 files changed, 22 insertions(+), 4 deletions(-) diff

[PATCH 10/12] Limit bio_endio recursion

2016-04-03 Thread Shaun Tancheff
https://lkml.org/lkml/2008/6/24/18 Signed-off-by: Shaun Tancheff <shaun.tanch...@seagate.com> --- block/bio.c | 57 ++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/block/bio.c b/block/bio.c index d42e69c..4ac19f6 100644

[PATCH 08/12] RAID 4/5/6: Indicate parity blocks as 'META'

2016-04-03 Thread Shaun Tancheff
From: Shaun Tancheff <shaun.tanch...@seagate.com> It is useful for ZDM to know that a block is part of a parity stripe as parity stripes are deemed to be hotter and more prone to becoming stale. ZDM will co-locate META bios to alternate streams. Signed-off-by: Shaun Ta

Re: [PATCH 2/4] libata: Implement ZBC OUT translation

2016-04-04 Thread Shaun Tancheff
ECV = 0x13, > diff --git a/include/trace/events/libata.h b/include/trace/events/libata.h > index 02ec4e5..24dcd43 100644 > --- a/include/trace/events/libata.h > +++ b/include/trace/events/libata.h > @@ -98,6 +98,7 @@ > ata_opcode_name(ATA_CMD_REQ_SENSE_DATA), \ > ata_opcode_name(ATA_CMD_SANITIZE_DEVICE), \ > ata_opcode_name(ATA_CMD_ZAC_MGMT_IN), \ > +ata_opcode_name(ATA_CMD_ZAC_MGMT_OUT), \ > ata_opcode_name(ATA_CMD_RESTORE), \ > ata_opcode_name(ATA_CMD_READ_LONG),\ > ata_opcode_name(ATA_CMD_READ_LONG_ONCE), \ > -- > 1.8.5.6 > -- 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 03/12] BUG: Losing bits on request.cmd_flags

2016-04-05 Thread Shaun Tancheff
On Tue, Apr 5, 2016 at 9:08 AM, Martin K. Petersen <martin.peter...@oracle.com> wrote: >>>>>> "Shaun" == Shaun Tancheff <shaun.tanch...@seagate.com> writes: > > Shaun> Oh, okay. It became an issue in the next patch where some > Shaun> inter

Re: [PATCH 1/4] libata: implement ZBC IN translation

2016-04-04 Thread Shaun Tancheff
MA_EXT = 0x02, > > + /* Subcmds for ATA_CMD_ZAC_MGMT_IN */ > + ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0x00, > + > /* READ_LOG_EXT pages */ > ATA_LOG_SATA_NCQ= 0x10, > ATA_LOG_NCQ_SEND_RECV = 0x13, > diff --git a/include/trace/events/libata.h b/include/trace/events/libata.h > index 8b0fbd9..02ec4e5 100644 > --- a/include/trace/events/libata.h > +++ b/include/trace/events/libata.h > @@ -97,6 +97,7 @@ > ata_opcode_name(ATA_CMD_CFA_WRITE_MULT_NE),\ > ata_opcode_name(ATA_CMD_REQ_SENSE_DATA), \ > ata_opcode_name(ATA_CMD_SANITIZE_DEVICE), \ > +ata_opcode_name(ATA_CMD_ZAC_MGMT_IN), \ > ata_opcode_name(ATA_CMD_RESTORE), \ > ata_opcode_name(ATA_CMD_READ_LONG),\ > ata_opcode_name(ATA_CMD_READ_LONG_ONCE), \ > -- > 1.8.5.6 > The zone report looks good. Tested-by: Shaun Tancheff <shaun.tanch...@seagate.com> -- 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 03/12] BUG: Losing bits on request.cmd_flags

2016-04-04 Thread Shaun Tancheff
On Mon, Apr 4, 2016 at 10:56 PM, Jeff Moyer <jmo...@redhat.com> wrote: > Shaun Tancheff <sh...@tancheff.com> writes: > >> In a few places a temporary value smaller than a cmd_flags >> is used to test for bits and or build up a new cmd_flags. >> >&g

[PATCH] RAID Cleanup for bio-split

2016-04-23 Thread Shaun Tancheff
It looks like some minor changes slipped through on the RAID. A couple of checks for REQ_PREFLUSH flag should also check for bi_op matching REQ_OP_FLUSH. Wrappers for sync_page_io() are passed READ/WRITE but need to be passed REQ_OP_READ and REQ_OP_WRITE. Signed-off-by: Shaun Tancheff

Re: [PATCHv2 13/14] libata: support device-managed ZAC devices

2016-04-13 Thread Shaun Tancheff
t a/include/linux/ata.h b/include/linux/ata.h > index 3fb2d7d..439be2a 100644 > --- a/include/linux/ata.h > +++ b/include/linux/ata.h > @@ -932,6 +932,11 @@ static inline bool ata_id_is_ssd(const u16 *id) > return id[ATA_ID_ROT_SPEED] == 0x01; > } > > +static inline u8 ata

[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

[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 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

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

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: [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 >

[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: [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-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

[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

[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

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 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

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 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-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 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

[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

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-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: >>>> >>>>

[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

[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 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 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 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 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 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 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

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

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] 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] 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 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-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] 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 "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: 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 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 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 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
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] 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 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

  1   2   >