Date: Tue, 21 May 2024 11:51:30 -0400 From: Mike Snitzer To: Linus Torvalds Cc: dm-devel@lists.linux.dev, linux-block@vger.kernel.org, Alasdair G Kergon , Mikulas Patocka , Benjamin Marzinski , Christoph Hellwig , Theodore Ts'o Subject: [git pull] device mapper fixes for 6.10-rc1 Hi Linus, The following changes since commit 8b21ac87d550acc4f6207764fed0cf6f0e3966cd: dm-delay: remove timer_lock (2024-05-09 09:10:58 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-6.10/dm-fixes for you to fetch changes up to 825d8bbd2f32cb229c3b6653bd454832c3c20acb: dm: always manage discard support in terms of max_hw_discard_sectors (2024-05-20 15:51:19 -0400) Please pull, thanks. Mike ---------------------------------------------------------------- - Fix DM discard regressions due to DM core switching over to using queue_limits_set() without DM core and targets first being updated to set (and stack) discard limits in terms of max_hw_discard_sectors and not max_discard_sectors. - Fix stable@ DM integrity discard support to set device's discard_granularity limit to the device's logical block size. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEJfWUX4UqZ4x1O2wixSPxCi2dA1oFAmZMv3kACgkQxSPxCi2d A1pX2gf+NjaTP+6otMJ44sYwUGHuWtgwDy7NcoTiF4RvLQjjrUh8Lgm2p3i4evFs 4AzMNXy5V6/mEx/AZb7sjCtPkIGOykkBud3+jhStohQKvXEJQcYtwACNv151NW2c Fw2tcPZbPKH8P8UkDkegLaCu+4DotYjhuw44dfHFVZ95Wlhcm2UmcjWQEf/LtYW0 Si2FE0z2n1yi1mY6cExuL0bJ+LaMrXRQzHE3ZPaPRn4PFNUTY1juKsHYbgyL7cZ+ xQM1W/KBrKzDztCJGKH4Cl86L3kNPRkiQ7BQ/2Wtse20o10EGT0+lPvevCNcPNpi gbjAo7OPy9WPA9N/AR8Wfj06YQFaGA== =Pp+x -----END PGP SIGNATURE----- ---------------------------------------------------------------- Mike Snitzer (1): dm: always manage discard support in terms of max_hw_discard_sectors Mikulas Patocka (1): dm-integrity: set discard_granularity to logical block size drivers/md/dm-cache-target.c | 5 ++--- drivers/md/dm-clone-target.c | 4 ++-- drivers/md/dm-integrity.c | 1 + drivers/md/dm-log-writes.c | 2 +- drivers/md/dm-snap.c | 2 +- drivers/md/dm-target.c | 1 - drivers/md/dm-thin.c | 4 ++-- drivers/md/dm-zero.c | 1 - drivers/md/dm-zoned-target.c | 1 - drivers/md/dm.c | 2 +- 10 files changed, 10 insertions(+), 13 deletions(-) . Date: Thu, 23 May 2024 10:17:18 -0600 From: Jens Axboe To: Linus Torvalds Cc: "linux-block@vger.kernel.org" Subject: [GIT PULL] Block fixes for 6.10-rc1 Hi Linus, Followup block pull request for 6.10-rc1, mostly due to NVMe being a bit late to the party. But nothing major in there, so not a big deal. In detail, this pull request contains: - NVMe pull request via Keith - Fabrics connection retries (Daniel, Hannes) - Fabrics logging enhancements (Tokunori) - RDMA delete optimization (Sagi) - ublk DMA alignment fix (me) - null_blk sparse warning fixes (Bart) - Discard support for brd (Keith) - blk-cgroup list corruption fixes (Ming) - blk-cgroup stat propagation fix (Waiman) - Regression fix for plugging stall with md (Yu) - Misc fixes or cleanups (David, Jeff, Justin) This will throw a merge conflict in block/blk-core.c due to the changes from Al, however it's very minor. I'm including my resolution below, but if you need it, we'll have to revoke your git merge card. Look at your own peril. Please pull! The following changes since commit a7c840ba5fa78d7761b9fedc33d69cef44986d79: Merge tag 'tag-chrome-platform-firmware-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux (2024-05-13 16:48:15 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/block-6.10-20240523 for you to fetch changes up to a2db328b0839312c169eb42746ec46fc1ab53ed2: null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues' (2024-05-23 06:58:13 -0600) ---------------------------------------------------------------- block-6.10-20240523 ---------------------------------------------------------------- Bart Van Assche (6): null_blk: Fix two sparse warnings nbd: Use NULL to represent a pointer nbd: Remove superfluous casts nbd: Improve the documentation of the locking assumptions nbd: Remove a local variable from nbd_send_cmd() nbd: Fix signal handling Daniel Wagner (1): nvme: do not retry authentication failures Dr. David Alan Gilbert (1): blk-throttle: remove unused struct 'avg_latency_bucket' Hannes Reinecke (4): nvmet: lock config semaphore when accessing DH-HMAC-CHAP key nvmet: return DHCHAP status codes from nvmet_setup_auth() nvme: return kernel error codes for admin queue connect nvme-fabrics: short-circuit reconnect retries Jeff Johnson (1): block: t10-pi: add MODULE_DESCRIPTION() Jens Axboe (2): ublk_drv: set DMA alignment mask to 3 Merge tag 'nvme-6.10-2024-05-14' of git://git.infradead.org/nvme into block-6.10 Justin Stitt (1): cdrom: rearrange last_media_change check to avoid unintentional overflow Keith Busch (1): brd: implement discard support Ming Lei (3): blk-cgroup: fix list corruption from resetting io stat blk-cgroup: fix list corruption from reorder of WRITE ->lqueued blk-mq: add helper for checking if one CPU is mapped to specified hctx Sagi Grimberg (1): nvmet-rdma: Avoid o(n^2) loop in delete_ctrl Tokunori Ikegami (1): nvme-rdma, nvme-tcp: include max reconnects for reconnect logging Waiman Long (1): blk-cgroup: Properly propagate the iostat update up the hierarchy Yu Kuai (2): block: fix lost bio for plug enabled bio based device null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues' block/blk-cgroup.c | 87 ++++++++++++++++++++++++---------- block/blk-core.c | 13 ++--- block/blk-mq.c | 20 +++++++- block/blk-throttle.c | 5 -- block/t10-pi.c | 2 +- drivers/block/brd.c | 26 ++++++++++ drivers/block/nbd.c | 41 ++++++++-------- drivers/block/null_blk/main.c | 42 ++++++++++------ drivers/block/null_blk/trace.h | 7 ++- drivers/block/ublk_drv.c | 1 + drivers/cdrom/cdrom.c | 2 +- drivers/nvme/host/auth.c | 6 +-- drivers/nvme/host/core.c | 6 +-- drivers/nvme/host/fabrics.c | 51 ++++++++++++-------- drivers/nvme/host/fabrics.h | 2 +- drivers/nvme/host/fc.c | 4 +- drivers/nvme/host/nvme.h | 2 +- drivers/nvme/host/rdma.c | 23 +++++---- drivers/nvme/host/tcp.c | 30 +++++++----- drivers/nvme/target/auth.c | 22 ++++----- drivers/nvme/target/configfs.c | 22 +++++++-- drivers/nvme/target/fabrics-cmd-auth.c | 49 +++++++++---------- drivers/nvme/target/fabrics-cmd.c | 11 +++-- drivers/nvme/target/nvmet.h | 8 ++-- drivers/nvme/target/rdma.c | 16 +++---- include/trace/events/nbd.h | 2 +- 26 files changed, 314 insertions(+), 186 deletions(-) commit 33682c9a0f7aea5a9be2187dcb7d9591fbc70c94 Merge: c760b3725e52 a2db328b0839 Author: Jens Axboe Date: Thu May 23 10:06:39 2024 -0600 Merge branch 'block-6.10' into test * block-6.10: (24 commits) null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues' blk-throttle: remove unused struct 'avg_latency_bucket' block: fix lost bio for plug enabled bio based device block: t10-pi: add MODULE_DESCRIPTION() blk-mq: add helper for checking if one CPU is mapped to specified hctx blk-cgroup: Properly propagate the iostat update up the hierarchy blk-cgroup: fix list corruption from reorder of WRITE ->lqueued blk-cgroup: fix list corruption from resetting io stat cdrom: rearrange last_media_change check to avoid unintentional overflow nbd: Fix signal handling nbd: Remove a local variable from nbd_send_cmd() nbd: Improve the documentation of the locking assumptions nbd: Remove superfluous casts nbd: Use NULL to represent a pointer brd: implement discard support null_blk: Fix two sparse warnings ublk_drv: set DMA alignment mask to 3 nvme-rdma, nvme-tcp: include max reconnects for reconnect logging nvmet-rdma: Avoid o(n^2) loop in delete_ctrl nvme: do not retry authentication failures ... Signed-off-by: Jens Axboe diff --cc block/blk-core.c index ea44b13af9af,dd29d5465af6..82c3ae22d76d --- a/block/blk-core.c +++ b/block/blk-core.c @@@ -618,7 -619,9 +621,9 @@@ static void __submit_bio(struct bio *bi if (unlikely(!blk_crypto_bio_prep(&bio))) return; + blk_start_plug(&plug); + - if (!bio->bi_bdev->bd_has_submit_bio) { + if (!bdev_test_flag(bio->bi_bdev, BD_HAS_SUBMIT_BIO)) { blk_mq_submit_bio(bio); } else if (likely(bio_queue_enter(bio) == 0)) { struct gendisk *disk = bio->bi_bdev->bd_disk; -- Jens Axboe . Date: Fri, 31 May 2024 08:33:53 -0600 From: Jens Axboe To: Linus Torvalds Cc: "linux-block@vger.kernel.org" Subject: [GIT PULL] Block fixes for 6.10-rc2 Hi Linus, Block fixes for 6.10-rc2: - NVMe fixes via Keith: - Removing unused fields (Kanchan) - Large folio offsets support (Kundan) - Multipath NUMA node initialiazation fix (Nilay) - Multipath IO stats accounting fixes (Keith) - Circular lockdep fix (Keith) - Target race condition fix (Sagi) - Target memory leak fix (Sagi) - bcache fixes - null_blk fixes (Damien) - Fix regression in io.max due to throttle low removal (Waiman) - DM limit table fixes (Christoph) - SCSI and block limit fixes (Christoph) - zone fixes (Damien) - Misc fixes (Christoph, Hannes, hexue) Please pull! The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0: Linux 6.10-rc1 (2024-05-26 15:20:12 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/block-6.10-20240530 for you to fetch changes up to 0a751df4566c86e5a24f2a03290dad3d0f215692: blk-throttle: Fix incorrect display of io.max (2024-05-30 19:44:29 -0600) ---------------------------------------------------------------- block-6.10-20240530 ---------------------------------------------------------------- Christoph Hellwig (6): block: remove blk_queue_max_integrity_segments dm: move setting zoned_enabled to dm_table_set_restrictions dm: remove dm_check_zoned dm: make dm_set_zones_restrictions work on the queue limits sd: also set max_user_sectors when setting max_sectors block: stack max_user_sectors Coly Li (2): bcache: call force_wake_up_gc() if necessary in check_should_bypass() bcache: code cleanup in __bch_bucket_alloc_set() Damien Le Moal (5): null_blk: Fix return value of nullb_device_power_store() null_blk: Print correct max open zones limit in null_init_zoned_dev() null_blk: Do not allow runt zone with zone capacity smaller then zone size block: Fix validation of zoned device with a runt zone block: Fix zone write plugging handling of devices with a runt zone Dongsheng Yang (1): bcache: allow allocator to invalidate bucket in gc Hannes Reinecke (1): block: check for max_hw_sectors underflow Jens Axboe (1): Merge tag 'nvme-6.10-2024-05-29' of git://git.infradead.org/nvme into block-6.10 Kanchan Joshi (1): nvme: remove sgs and sws Keith Busch (3): nvme: fix multipath batched completion accounting nvme-multipath: fix io accounting on failover nvme: use srcu for iterating namespace list Kundan Kumar (1): nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset Nilay Shroff (1): nvme-multipath: find NUMA path only for online numa-node Sagi Grimberg (2): nvmet: fix ns enable/disable possible hang nvmet: fix a possible leak when destroy a ctrl during qp establishment Waiman Long (1): blk-throttle: Fix incorrect display of io.max hexue (1): block: delete redundant function declaration block/blk-settings.c | 10 +++- block/blk-stat.h | 1 - block/blk-throttle.c | 24 ++++----- block/blk-throttle.h | 8 +-- block/blk-zoned.c | 47 +++++++++++++---- drivers/block/null_blk/main.c | 1 + drivers/block/null_blk/zoned.c | 13 ++++- drivers/md/bcache/alloc.c | 21 +++----- drivers/md/bcache/bcache.h | 1 + drivers/md/bcache/btree.c | 7 ++- drivers/md/bcache/request.c | 16 +++++- drivers/md/dm-table.c | 15 +++--- drivers/md/dm-zone.c | 72 ++++++++++++------------- drivers/md/dm.h | 3 +- drivers/nvme/host/core.c | 116 +++++++++++++++++++++++++---------------- drivers/nvme/host/ioctl.c | 15 +++--- drivers/nvme/host/multipath.c | 26 +++++---- drivers/nvme/host/nvme.h | 7 +-- drivers/nvme/host/pci.c | 3 +- drivers/nvme/target/configfs.c | 8 +++ drivers/nvme/target/core.c | 9 ++++ drivers/scsi/sd.c | 4 +- include/linux/blk-integrity.h | 10 ---- include/linux/blkdev.h | 1 + 24 files changed, 262 insertions(+), 176 deletions(-) -- Jens Axboe . Date: Tue, 17 Dec 2019 23:16:41 +0100 From: Arnd Bergmann To: Jens Axboe , "James E.J. Bottomley" , "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org, linux-block@vger.kernel.org, y2038@lists.linaro.org, linux-kernel@vger.kernel.org, Christoph Hellwig , Ben Hutchings , linux-doc@vger.kernel.org, corbet@lwn.net, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, Arnd Bergmann Subject: [GIT PULL v2 00/27] block, scsi: final compat_ioctl cleanup The following changes since commit e42617b825f8073569da76dc4510bfa019b1c35a: Linux 5.5-rc1 (2019-12-08 14:57:55 -0800) are available in the Git repository at: git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground.git tags/block-ioctl-cleanup-5.6 for you to fetch changes up to 3462d5c19dac7c062c5a2db727775116e6d2b28e: Documentation: document ioctl interfaces better (2019-12-17 22:45:18 +0100) ---------------------------------------------------------------- block, scsi: final compat_ioctl cleanup This series concludes the work I did for linux-5.5 on the compat_ioctl() cleanup, killing off fs/compat_ioctl.c and block/compat_ioctl.c by moving everything into drivers. Overall this would be a reduction both in complexity and line count, but as I'm also adding documentation the overall number of lines increases in the end. My plan was originally to keep the SCSI and block parts separate. This did not work easily because of interdependencies: I cannot do the final SCSI cleanup in a good way without first addressing the CDROM ioctls, so this is one series that I hope could be merged through either the block or the scsi git trees, or possibly both if you can pull in the same branch. The series comes in these steps: 1. clean up the sg v3 interface as suggested by Linus. I have talked about this with Doug Gilbert as well, and he would rebase his sg v4 patches on top of "compat: scsi: sg: fix v3 compat read/write interface" 2. Actually moving handlers out of block/compat_ioctl.c and block/scsi_ioctl.c into drivers, mixed in with cleanup patches 3. Document how to do this right. I keep getting asked about this, and it helps to point to some documentation file. The branch is based on another one that fixes a couple of bugs found during the creation of this series. Changes since the original version [1]: - move out the bugfixes into a branch for itself - clean up scsi sg driver further as suggested by Christoph Hellwig - avoid some ifdefs by moving compat_ptr() out of asm/compat.h - split out the blkdev_compat_ptr_ioctl function; bug spotted by Ben Hutchings - Improve formatting of documentation [1] https://lore.kernel.org/linux-block/20191211204306.1207817-1-arnd@arndb.de/T/#m9f89df30565fc66abbded5d01f4db553b16f129f ---------------------------------------------------------------- Arnd Bergmann (22): (plus five from the first pull request) compat: ARM64: always include asm-generic/compat.h compat: provide compat_ptr() on all architectures compat: scsi: sg: fix v3 compat read/write interface compat_ioctl: block: add blkdev_compat_ptr_ioctl compat_ioctl: ubd, aoe: use blkdev_compat_ptr_ioctl compat_ioctl: move CDROM_SEND_PACKET handling into scsi compat_ioctl: move CDROMREADADIO to cdrom.c compat_ioctl: cdrom: handle CDROM_LAST_WRITTEN compat_ioctl: block: handle cdrom compat ioctl in non-cdrom drivers compat_ioctl: add scsi_compat_ioctl compat_ioctl: bsg: add handler compat_ioctl: ide: floppy: add handler compat_ioctl: scsi: move ioctl handling into drivers compat_ioctl: move sys_compat_ioctl() to ioctl.c compat_ioctl: simplify the implementation compat_ioctl: move cdrom commands into cdrom.c compat_ioctl: scsi: handle HDIO commands from drivers compat_ioctl: move HDIO ioctl handling into drivers/ide compat_ioctl: block: move blkdev_compat_ioctl() into ioctl.c compat_ioctl: block: simplify compat_blkpg_ioctl() compat_ioctl: simplify up block/ioctl.c Documentation: document ioctl interfaces better Documentation/core-api/index.rst | 1 + Documentation/core-api/ioctl.rst | 248 +++++++++++++++ arch/arm64/include/asm/compat.h | 22 +- arch/mips/include/asm/compat.h | 18 -- arch/parisc/include/asm/compat.h | 17 - arch/powerpc/include/asm/compat.h | 17 - arch/powerpc/oprofile/backtrace.c | 2 +- arch/s390/include/asm/compat.h | 6 +- arch/sparc/include/asm/compat.h | 17 - arch/um/drivers/ubd_kern.c | 1 + arch/x86/include/asm/compat.h | 17 - block/Makefile | 1 - block/bsg.c | 1 + block/compat_ioctl.c | 411 ------------------------- block/ioctl.c | 319 +++++++++++++++---- block/scsi_ioctl.c | 214 ++++++++----- drivers/ata/libata-scsi.c | 9 + drivers/block/aoe/aoeblk.c | 1 + drivers/block/floppy.c | 3 + drivers/block/paride/pcd.c | 3 + drivers/block/paride/pd.c | 1 + drivers/block/paride/pf.c | 1 + drivers/block/pktcdvd.c | 26 +- drivers/block/sunvdc.c | 1 + drivers/block/virtio_blk.c | 3 + drivers/block/xen-blkfront.c | 1 + drivers/cdrom/cdrom.c | 35 ++- drivers/cdrom/gdrom.c | 3 + drivers/ide/ide-cd.c | 37 +++ drivers/ide/ide-disk.c | 1 + drivers/ide/ide-floppy.c | 4 + drivers/ide/ide-floppy.h | 2 + drivers/ide/ide-floppy_ioctl.c | 35 +++ drivers/ide/ide-gd.c | 14 + drivers/ide/ide-ioctls.c | 44 ++- drivers/ide/ide-tape.c | 11 + drivers/scsi/aic94xx/aic94xx_init.c | 3 + drivers/scsi/ch.c | 9 +- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 3 + drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 3 + drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 + drivers/scsi/ipr.c | 3 + drivers/scsi/isci/init.c | 3 + drivers/scsi/mvsas/mv_init.c | 3 + drivers/scsi/pm8001/pm8001_init.c | 3 + drivers/scsi/scsi_ioctl.c | 54 +++- drivers/scsi/sd.c | 50 ++- drivers/scsi/sg.c | 170 +++++----- drivers/scsi/sr.c | 53 +++- drivers/scsi/st.c | 51 +-- fs/Makefile | 2 +- fs/compat_ioctl.c | 261 ---------------- fs/internal.h | 6 - fs/ioctl.c | 131 +++++--- include/linux/blkdev.h | 7 + include/linux/compat.h | 18 ++ include/linux/falloc.h | 2 - include/linux/fs.h | 4 - include/linux/ide.h | 2 + include/linux/libata.h | 6 + include/scsi/scsi_ioctl.h | 1 + include/scsi/sg.h | 30 ++ 62 files changed, 1257 insertions(+), 1171 deletions(-) create mode 100644 Documentation/core-api/ioctl.rst delete mode 100644 block/compat_ioctl.c delete mode 100644 fs/compat_ioctl.c -- 2.20.0 . Date: Thu, 2 Jan 2020 15:55:18 +0100 From: Arnd Bergmann To: "James E.J. Bottomley" , "Martin K. Petersen" Cc: Arnd Bergmann , linux-scsi@vger.kernel.org, linux-block@vger.kernel.org, y2038@lists.linaro.org, linux-kernel@vger.kernel.org, Christoph Hellwig , Ben Hutchings , linux-doc@vger.kernel.org, corbet@lwn.net, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, Jens Axboe Subject: [GIT PULL v3 00/27] block, scsi: final compat_ioctl cleanup Hi Martin, James, If this version seems ok to everyone, please pull into the scsi tree. The following changes since commit e42617b825f8073569da76dc4510bfa019b1c35a: Linux 5.5-rc4 (2019-12-08 14:57:55 -0800) are available in the Git repository at: git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground.git tags/block-ioctl-cleanup-5.6 for you to fetch changes up to d1329555e914109846283e469b5077e7500ecfaf Documentation: document ioctl interfaces better (2019-12-17 22:45:18 +0100) ---------------------------------------------------------------- block, scsi: final compat_ioctl cleanup This series concludes the work I did for linux-5.5 on the compat_ioctl() cleanup, killing off fs/compat_ioctl.c and block/compat_ioctl.c by moving everything into drivers. Overall this would be a reduction both in complexity and line count, but as I'm also adding documentation the overall number of lines increases in the end. My plan was originally to keep the SCSI and block parts separate. This did not work easily because of interdependencies: I cannot do the final SCSI cleanup in a good way without first addressing the CDROM ioctls, so this is one series that I hope could be merged through either the block or the scsi git trees, or possibly both if you can pull in the same branch. The series comes in these steps: 1. clean up the sg v3 interface as suggested by Linus. I have talked about this with Doug Gilbert as well, and he would rebase his sg v4 patches on top of "compat: scsi: sg: fix v3 compat read/write interface" 2. Actually moving handlers out of block/compat_ioctl.c and block/scsi_ioctl.c into drivers, mixed in with cleanup patches 3. Document how to do this right. I keep getting asked about this, and it helps to point to some documentation file. The branch is based on another one that fixes a couple of bugs found during the creation of this series. Changes since v2: - Rebase to v5.5-rc4, which contains the earlier bugfixes - Fix sr_block_compat_ioctl() error handling bug found by Ben Hutchings - Fix idecd_locked_compat_ioctl() compat_ptr() bug - Don't try to handle HDIO_DRIVE_TASKFILE in drivers/ide - More documentation improvements Changes since v1: - move out the bugfixes into a branch for itself - clean up scsi sg driver further as suggested by Christoph Hellwig - avoid some ifdefs by moving compat_ptr() out of asm/compat.h - split out the blkdev_compat_ptr_ioctl function; bug spotted by Ben Hutchings - Improve formatting of documentation [1] https://lore.kernel.org/linux-block/20191211204306.1207817-1-arnd@arndb.de/T/#m9f89df30565fc66abbded5d01f4db553b16f129f ---------------------------------------------------------------- Arnd Bergmann (22): compat: ARM64: always include asm-generic/compat.h compat: provide compat_ptr() on all architectures compat: scsi: sg: fix v3 compat read/write interface compat_ioctl: block: add blkdev_compat_ptr_ioctl compat_ioctl: ubd, aoe: use blkdev_compat_ptr_ioctl compat_ioctl: move CDROM_SEND_PACKET handling into scsi compat_ioctl: move CDROMREADADIO to cdrom.c compat_ioctl: cdrom: handle CDROM_LAST_WRITTEN compat_ioctl: block: handle cdrom compat ioctl in non-cdrom drivers compat_ioctl: add scsi_compat_ioctl compat_ioctl: bsg: add handler compat_ioctl: ide: floppy: add handler compat_ioctl: scsi: move ioctl handling into drivers compat_ioctl: move sys_compat_ioctl() to ioctl.c compat_ioctl: simplify the implementation compat_ioctl: move cdrom commands into cdrom.c compat_ioctl: scsi: handle HDIO commands from drivers compat_ioctl: move HDIO ioctl handling into drivers/ide compat_ioctl: block: move blkdev_compat_ioctl() into ioctl.c compat_ioctl: block: simplify compat_blkpg_ioctl() compat_ioctl: simplify up block/ioctl.c Documentation: document ioctl interfaces better Documentation/core-api/index.rst | 1 + Documentation/core-api/ioctl.rst | 253 +++++++++++++++ arch/arm64/include/asm/compat.h | 22 +- arch/mips/include/asm/compat.h | 18 -- arch/parisc/include/asm/compat.h | 17 - arch/powerpc/include/asm/compat.h | 17 - arch/powerpc/oprofile/backtrace.c | 2 +- arch/s390/include/asm/compat.h | 6 +- arch/sparc/include/asm/compat.h | 17 - arch/um/drivers/ubd_kern.c | 1 + arch/x86/include/asm/compat.h | 17 - block/Makefile | 1 - block/bsg.c | 1 + block/compat_ioctl.c | 427 ------------------------- block/ioctl.c | 319 ++++++++++++++---- block/scsi_ioctl.c | 214 ++++++++----- drivers/ata/libata-scsi.c | 9 + drivers/block/aoe/aoeblk.c | 1 + drivers/block/floppy.c | 3 + drivers/block/paride/pcd.c | 3 + drivers/block/paride/pd.c | 1 + drivers/block/paride/pf.c | 1 + drivers/block/pktcdvd.c | 26 +- drivers/block/sunvdc.c | 1 + drivers/block/virtio_blk.c | 3 + drivers/block/xen-blkfront.c | 1 + drivers/cdrom/cdrom.c | 35 +- drivers/cdrom/gdrom.c | 3 + drivers/ide/ide-cd.c | 38 +++ drivers/ide/ide-disk.c | 1 + drivers/ide/ide-floppy.c | 4 + drivers/ide/ide-floppy.h | 2 + drivers/ide/ide-floppy_ioctl.c | 35 ++ drivers/ide/ide-gd.c | 17 + drivers/ide/ide-ioctls.c | 47 ++- drivers/ide/ide-tape.c | 11 + drivers/scsi/aic94xx/aic94xx_init.c | 3 + drivers/scsi/ch.c | 9 +- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 3 + drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 3 + drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 + drivers/scsi/ipr.c | 3 + drivers/scsi/isci/init.c | 3 + drivers/scsi/mvsas/mv_init.c | 3 + drivers/scsi/pm8001/pm8001_init.c | 3 + drivers/scsi/scsi_ioctl.c | 54 +++- drivers/scsi/sd.c | 50 ++- drivers/scsi/sg.c | 170 +++++----- drivers/scsi/sr.c | 53 ++- drivers/scsi/st.c | 51 +-- fs/Makefile | 2 +- fs/compat_ioctl.c | 261 --------------- fs/internal.h | 6 - fs/ioctl.c | 131 ++++++-- include/linux/blkdev.h | 7 + include/linux/compat.h | 18 ++ include/linux/falloc.h | 2 - include/linux/fs.h | 4 - include/linux/ide.h | 2 + include/linux/libata.h | 6 + include/scsi/scsi_ioctl.h | 1 + include/scsi/sg.h | 30 ++ 62 files changed, 1269 insertions(+), 1187 deletions(-) create mode 100644 Documentation/core-api/ioctl.rst delete mode 100644 block/compat_ioctl.c delete mode 100644 fs/compat_ioctl.c -- 2.20.0 Cc: linux-scsi@vger.kernel.org Cc: linux-block@vger.kernel.org Cc: y2038@lists.linaro.org Cc: linux-kernel@vger.kernel.org Cc: Christoph Hellwig Cc: Ben Hutchings Cc: linux-doc@vger.kernel.org Cc: corbet@lwn.net Cc: viro@zeniv.linux.org.uk Cc: linux-fsdevel@vger.kernel.org Cc: Jens Axboe .