Linux ATA/IDE development
 help / color / mirror / Atom feed
* [PATCH 00/12] Block support for zoned drives
@ 2016-04-04  5:06 Shaun Tancheff
  2016-04-04  5:06 ` [PATCH 01/12] Add ZBC <-> ZAC xlat support for report, open, close, reset, finish Shaun Tancheff
                   ` (12 more replies)
  0 siblings, 13 replies; 22+ messages in thread
From: Shaun Tancheff @ 2016-04-04  5:06 UTC (permalink / raw)
  To: linux-ide, dm-devel, linux-block, linux-scsi; +Cc: Jens Axboe, Shaun Tancheff

As Host Aware drives are becoming available we would like to be able 
to make use of such drives. This series is also intended to be suitable
for use by Host Managed drives.

The following series is hopefully a reasonable start at adding such 
support.

ZAC/ZBC drives add new commands. Some of this support is already in
progress by Hannes Reinecke <hare@suse.de>. This patch finishes up a
couple of scsi <-> ata translations. These patches will be re-worked 
or dropped in favor of Hannes' next release.

With the ZAC support in place adding some additional flags to struct bio 
to identify the new drive requests (Report zones, Open/Close/Reset zones).

With the bio support in place there are two new users added. The first 
user is an ioctl the second user is a device mapper target.
The user space tools for the ioctl is intended to be acceptable for
inclusion by util-linux. Initial patches for 2.20.1 and 2.21.1
can be found here:
https://github.com/Seagate/ZDM-Device-Mapper/tree/master/patches/util-linux

Please consider the new device mapper target, as an RFC.

Patch "Limit bio_endio recursion" is based on an older patch that was 
not picked up. It is not strictly necessary but it does reduce stack 
usage, especially for badly behaved DM targets that return
DM_MAPIO_REQUEUE too frequently.

Patch "Use PID to seed Stream Id" depends on:
https://lkml.kernel.org/r/1457107853-8689-1-git-send-email-axboe@fb.com

Patch "Block Zoned Control for Userspace" is a hold over for user space
tools that have not been updated to use the new block ioctl. The patch
will be dropped when zdm-tools is updated and sd-tools is replaced
with util-linux.

This series is based on Linus v4.5 kernel.

Code is also available on github here:
https://github.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 bits on request.cmd_flags
  Add bio/request flags for using ZBC/ZAC commands
  Add ioctl to issue ZBC/ZAC commands via block layer
  Add ata pass-through path for ZAC commands.
  ZDM: New DM target 'zoned'
  RAID 4/5/6: Indicate parity blocks as 'META'
  RAID 4/5/6: Fine-grained TRIM enable for ZDM
  Limit bio_endio recursion
  Stream Id: Use PID to seed Stream Id construction.
  Block Zoned Control for Userspace

 Documentation/device-mapper/zoned.txt |   75 +
 MAINTAINERS                           |   16 +
 block/Kconfig                         |   12 +
 block/Makefile                        |    1 +
 block/bio.c                           |   57 +-
 block/blk-core.c                      |   17 +-
 block/blk-lib.c                       |  120 +
 block/blk-merge.c                     |    2 +-
 block/blk-mq.c                        |    2 +-
 block/blk-settings.c                  |    1 +
 block/blk-sysfs.c                     |   11 +
 block/blk-zoned-ctrl.c                |  642 +++
 block/cfq-iosched.c                   |    2 +-
 block/elevator.c                      |    4 +-
 block/ioctl.c                         |  142 +
 block/scsi_ioctl.c                    |    6 +
 drivers/ata/libata-eh.c               |    2 +
 drivers/ata/libata-scsi.c             |  238 ++
 drivers/md/Kconfig                    |   11 +
 drivers/md/Makefile                   |    1 +
 drivers/md/dm-zoned.c                 | 2549 ++++++++++++
 drivers/md/dm-zoned.h                 |  715 ++++
 drivers/md/libzoned.c                 | 7149 +++++++++++++++++++++++++++++++++
 drivers/md/raid5.c                    |    6 +-
 drivers/scsi/sd.c                     |  186 +-
 drivers/scsi/sd.h                     |    1 +
 fs/ext4/file.c                        |    1 +
 fs/xfs/xfs_aops.c                     |    2 +-
 fs/xfs/xfs_file.c                     |    1 +
 include/linux/ata.h                   |   18 +
 include/linux/blk-zoned-ctrl.h        |   51 +
 include/linux/blk_types.h             |   23 +-
 include/linux/blkdev.h                |   22 +-
 include/linux/blkzoned_api.h          |   25 +
 include/linux/elevator.h              |    4 +-
 include/linux/fs.h                    |   10 +-
 include/scsi/scsi_device.h            |    1 +
 include/scsi/scsi_proto.h             |   14 +
 include/trace/events/libata.h         |    2 +
 include/uapi/linux/Kbuild             |    2 +
 include/uapi/linux/blk-zoned-ctrl.h   |   70 +
 include/uapi/linux/blkzoned_api.h     |  221 +
 include/uapi/linux/fs.h               |    1 +
 43 files changed, 12405 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/device-mapper/zoned.txt
 create mode 100644 block/blk-zoned-ctrl.c
 create mode 100644 drivers/md/dm-zoned.c
 create mode 100644 drivers/md/dm-zoned.h
 create mode 100644 drivers/md/libzoned.c
 create mode 100644 include/linux/blk-zoned-ctrl.h
 create mode 100644 include/linux/blkzoned_api.h
 create mode 100644 include/uapi/linux/blk-zoned-ctrl.h
 create mode 100644 include/uapi/linux/blkzoned_api.h

-- 
1.9.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-04-07  6:03 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-04  5:06 [PATCH 00/12] Block support for zoned drives Shaun Tancheff
2016-04-04  5:06 ` [PATCH 01/12] Add ZBC <-> ZAC xlat support for report, open, close, reset, finish Shaun Tancheff
2016-04-04  5:06 ` [PATCH 02/12] ata-scsi: Translate ReportZones result to big endian Shaun Tancheff
2016-04-04  5:06 ` [PATCH 03/12] BUG: Losing bits on request.cmd_flags Shaun Tancheff
2016-04-04 15:56   ` Jeff Moyer
2016-04-04 16:06     ` Shaun Tancheff
2016-04-05  2:08       ` Martin K. Petersen
2016-04-05 10:39         ` Shaun Tancheff
2016-04-04  5:06 ` [PATCH 04/12] Add bio/request flags for using ZBC/ZAC commands Shaun Tancheff
2016-04-04  5:06 ` [PATCH 05/12] Add ioctl to issue ZBC/ZAC commands via block layer Shaun Tancheff
2016-04-04  5:06 ` [PATCH 06/12] Add ata pass-through path for ZAC commands Shaun Tancheff
2016-04-04  5:06 ` [PATCH 07/12] ZDM: New DM target 'zoned' Shaun Tancheff
2016-04-04  5:06 ` [PATCH 08/12] RAID 4/5/6: Indicate parity blocks as 'META' Shaun Tancheff
2016-04-04  5:06 ` [PATCH 09/12] RAID 4/5/6: Fine-grained TRIM enable for ZDM Shaun Tancheff
2016-04-04  5:06 ` [PATCH 10/12] Limit bio_endio recursion Shaun Tancheff
2016-04-07  3:54   ` Ming Lei
2016-04-07  5:44     ` Ming Lei
2016-04-07  6:03       ` Ming Lei
2016-04-04  5:06 ` [PATCH 11/12] Stream Id: Use PID to seed Stream Id construction Shaun Tancheff
2016-04-04  5:06 ` [PATCH 12/12] Block Zoned Control for Userspace Shaun Tancheff
2016-04-04  7:32 ` [PATCH 00/12] Block support for zoned drives Hannes Reinecke
2016-04-04  8:13   ` Shaun Tancheff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox