[qemu-mainline test] 156823: regressions - FAIL

2020-11-16 Thread osstest service owner
flight 156823 qemu-mainline real [real] flight 156830 qemu-mainline real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/156823/ http://logs.test-lab.xenproject.org/osstest/logs/156830/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not

[libvirt test] 156828: regressions - FAIL

2020-11-16 Thread osstest service owner
flight 156828 libvirt real [real] http://logs.test-lab.xenproject.org/osstest/logs/156828/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: build-armhf-libvirt 6 libvirt-buildfail REGR. vs. 151777 build-amd64-libvirt

[ovmf test] 156826: all pass - PUSHED

2020-11-16 Thread osstest service owner
flight 156826 ovmf real [real] http://logs.test-lab.xenproject.org/osstest/logs/156826/ Perfect :-) All tests in this flight passed as required version targeted for testing: ovmf 124b3f9289f11479d9f042ea6e39bea2b1d5cee3 baseline version: ovmf

[PATCH v2 0/2] automation: arm64 dom0less smoke test

2020-11-16 Thread Stefano Stabellini
Hi all, This short series introduces a very simple Xen Dom0less smoke test based on qemu-system-aarch64 to be run as part of the gitlab CI-loop. It currently passes on staging. Cheers, Stefano Changes in v2: - use the Debian kernel for testing instead of building your own - fix x86_32 build

[PATCH v2 2/2] automation: add dom0less to the QEMU aarch64 smoke test

2020-11-16 Thread Stefano Stabellini
Add a trivial dom0less test: - fetch the Debian arm64 kernel and use it ad dom0/U kernel - use busybox-static to create a trivial dom0/U ramdisk - use ImageBuilder to generate the uboot boot script automatically - install and use u-boot from the Debian package to start the test - binaries are

[PATCH v2 1/2] automation: add a QEMU aarch64 smoke test

2020-11-16 Thread Stefano Stabellini
Use QEMU to start Xen (just the hypervisor) up until it stops because there is no dom0 kernel to boot. It is based on the existing build job unstable-arm64v8. Also use make -j$(nproc) to build Xen. Signed-off-by: Stefano Stabellini --- Changes in v2: - fix x86_32 build ---

Re: [PATCH v3 2/3] xen/pci: Move x86 specific code to x86 directory.

2020-11-16 Thread Stefano Stabellini
On Mon, 16 Nov 2020, Rahul Singh wrote: > passthrough/pci.c file is common for all architecture, but there is x86 > specific code in this file. > > Move x86 specific code to the drivers/passthrough/io.c file to avoid > compilation error for other architecture. > > As drivers/passthrough/io.c is

[seabios test] 156824: tolerable FAIL - PUSHED

2020-11-16 Thread osstest service owner
flight 156824 seabios real [real] http://logs.test-lab.xenproject.org/osstest/logs/156824/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 156285 test-amd64-amd64-xl-qemuu-win7-amd64 19

Re: [PATCH v3 1/3] xen/ns16550: Make ns16550 driver usable on ARM with HAS_PCI enabled.

2020-11-16 Thread Stefano Stabellini
On Mon, 16 Nov 2020, Rahul Singh wrote: > NS16550 driver has PCI support that is under HAS_PCI flag. When HAS_PCI > is enabled for ARM, compilation error is observed for ARM architecture > because ARM platforms do not have full PCI support available. > > Introducing new kconfig option

Re: [PATCH v2] xen/arm: Add workaround for Cortex-A76/Neoverse-N1 erratum #1286807

2020-11-16 Thread Stefano Stabellini
On Mon, 16 Nov 2020, Michal Orzel wrote: > On the affected Cortex-A76/Neoverse-N1 cores (r0p0 to r3p0), > if a virtual address for a cacheable mapping of a location is being > accessed by a core while another core is remapping the virtual > address to a new physical page using the recommended

XSA-351 causing Solaris-11 systems to panic during boot.

2020-11-16 Thread Cheyenne Wills
Running Xen with XSA-351 is causing Solaris 11 systems to panic during boot. The panic screen is showing the failure to be coming from "unix:rdmsr". The panic occurs with existing guests (booting off a disk) and the booting from an install ISO image. I discussed the problem with "andyhhp__" in

[linux-linus test] 156819: regressions - trouble: blocked/fail/pass/starved

2020-11-16 Thread osstest service owner
flight 156819 linux-linus real [real] http://logs.test-lab.xenproject.org/osstest/logs/156819/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-arm64-arm64-libvirt-xsm 8 xen-boot fail REGR. vs. 152332 build-amd64-xsm

Re: netbsd PVH dom0: xen clock event stops

2020-11-16 Thread Manuel Bouyer
On Sun, Nov 15, 2020 at 07:24:16PM +0100, Roger Pau Monné wrote: > On Sun, Nov 15, 2020 at 06:49:38PM +0100, Manuel Bouyer wrote: > > Hello, > > I spent some more time debugging NetBSD as a PVH dom0 on Xen, > > With Roger's patch to avoid a Xen panic, the NetBSD kernel stalls > > configuring

Re: [PATCH 28/78] md: implement ->set_read_only to hook into BLKROSET processing

2020-11-16 Thread Song Liu
On Mon, Nov 16, 2020 at 6:58 AM Christoph Hellwig wrote: > > Implement the ->set_read_only method instead of parsing the actual > ioctl command. > > Signed-off-by: Christoph Hellwig Acked-by: Song Liu [...]

Re: [PATCH 4/4] x86/xen: drop USERGS_SYSRET64 paravirt call

2020-11-16 Thread Andy Lutomirski
On Mon, Nov 16, 2020 at 7:23 AM Juergen Gross wrote: > > USERGS_SYSRET64 is used to return from a syscall via sysret, but > a Xen PV guest will nevertheless use the iret hypercall, as there > is no sysret PV hypercall defined. > > So instead of testing all the prerequisites for doing a sysret and

Re: [PATCH 4/4] x86/xen: drop USERGS_SYSRET64 paravirt call

2020-11-16 Thread Andy Lutomirski
On Mon, Nov 16, 2020 at 7:23 AM Juergen Gross wrote: > > USERGS_SYSRET64 is used to return from a syscall via sysret, but > a Xen PV guest will nevertheless use the iret hypercall, as there > is no sysret PV hypercall defined. > > So instead of testing all the prerequisites for doing a sysret and

Re: [PATCH 3/4] x86/pv: switch SWAPGS to ALTERNATIVE

2020-11-16 Thread Andy Lutomirski
On Mon, Nov 16, 2020 at 7:23 AM Juergen Gross wrote: > > SWAPGS is used only for interrupts coming from user mode or for > returning to user mode. So there is no reason to use the PARAVIRT > framework, as it can easily be replaced by an ALTERNATIVE depending > on X86_FEATURE_XENPV. > > There are

Re: [PATCH 2/4] x86/xen: use specific Xen pv interrupt entry for DF

2020-11-16 Thread Jürgen Groß
On 16.11.20 17:12, Andy Lutomirski wrote: On Mon, Nov 16, 2020 at 7:23 AM Juergen Gross wrote: Xen PV guests don't use IST. For double fault interrupts switch to the same model as NMI. Signed-off-by: Juergen Gross --- arch/x86/include/asm/idtentry.h | 3 +++ arch/x86/xen/enlighten_pv.c

Re: [PATCH 2/4] x86/xen: use specific Xen pv interrupt entry for DF

2020-11-16 Thread Andy Lutomirski
On Mon, Nov 16, 2020 at 7:23 AM Juergen Gross wrote: > > Xen PV guests don't use IST. For double fault interrupts switch to > the same model as NMI. > > Signed-off-by: Juergen Gross > --- > arch/x86/include/asm/idtentry.h | 3 +++ > arch/x86/xen/enlighten_pv.c | 8 +++- >

Re: cleanup updating the size of block devices v3

2020-11-16 Thread Jens Axboe
On 11/16/20 7:56 AM, Christoph Hellwig wrote: > Hi Jens, > > this series builds on top of the work that went into the last merge window, > and make sure we have a single coherent interfac for updating the size of a > block device. > > Changes since v2: > - rebased to the

[qemu-mainline test] 156818: regressions - FAIL

2020-11-16 Thread osstest service owner
flight 156818 qemu-mainline real [real] http://logs.test-lab.xenproject.org/osstest/logs/156818/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 152631

[PATCH 0/4] x86/xen: do some paravirt cleanup

2020-11-16 Thread Juergen Gross
Eliminate the usergs_sysret64 paravirt call completely and switch the swapgs one to use ALTERNATIVE instead. This requires to fix the IST based exception entries for Xen PV to use the same mechanism as NMI and debug exception already do. Juergen Gross (4): x86/xen: use specific Xen pv interrupt

[PATCH 1/4] x86/xen: use specific Xen pv interrupt entry for MCE

2020-11-16 Thread Juergen Gross
Xen PV guests don't use IST. For machine check interrupts switch to the same model as debug interrupts. Signed-off-by: Juergen Gross --- arch/x86/include/asm/idtentry.h | 3 +++ arch/x86/xen/enlighten_pv.c | 16 +++- arch/x86/xen/xen-asm.S | 2 +- 3 files changed, 19

[PATCH 4/4] x86/xen: drop USERGS_SYSRET64 paravirt call

2020-11-16 Thread Juergen Gross
USERGS_SYSRET64 is used to return from a syscall via sysret, but a Xen PV guest will nevertheless use the iret hypercall, as there is no sysret PV hypercall defined. So instead of testing all the prerequisites for doing a sysret and then mangling the stack for Xen PV again for doing an iret just

[PATCH 3/4] x86/pv: switch SWAPGS to ALTERNATIVE

2020-11-16 Thread Juergen Gross
SWAPGS is used only for interrupts coming from user mode or for returning to user mode. So there is no reason to use the PARAVIRT framework, as it can easily be replaced by an ALTERNATIVE depending on X86_FEATURE_XENPV. There are several instances using the PV-aware SWAPGS macro in paths which

[PATCH 2/4] x86/xen: use specific Xen pv interrupt entry for DF

2020-11-16 Thread Juergen Gross
Xen PV guests don't use IST. For double fault interrupts switch to the same model as NMI. Signed-off-by: Juergen Gross --- arch/x86/include/asm/idtentry.h | 3 +++ arch/x86/xen/enlighten_pv.c | 8 +++- arch/x86/xen/xen-asm.S | 2 +- 3 files changed, 11 insertions(+), 2

[PATCH 59/78] mtip32xx: remove the call to fsync_bdev on removal

2020-11-16 Thread Christoph Hellwig
del_gendisk already calls fsync_bdev for every partition, no need to do this twice. Signed-off-by: Christoph Hellwig --- drivers/block/mtip32xx/mtip32xx.c | 15 --- drivers/block/mtip32xx/mtip32xx.h | 2 -- 2 files changed, 17 deletions(-) diff --git

[PATCH 33/78] block: remove __blkdev_driver_ioctl

2020-11-16 Thread Christoph Hellwig
Just open code it in the few callers. Signed-off-by: Christoph Hellwig --- block/ioctl.c | 25 + drivers/block/pktcdvd.c | 6 -- drivers/md/bcache/request.c | 5 +++-- drivers/md/dm.c | 5 - include/linux/blkdev.h | 2 -- 5

[PATCH 35/78] block: cleanup del_gendisk a bit

2020-11-16 Thread Christoph Hellwig
Merge three hidden gendisk checks into one. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- block/genhd.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index b0f0b0cac9aa7f..8180195b76634b 100644 ---

[PATCH 55/78] block: change the hash used for looking up block devices

2020-11-16 Thread Christoph Hellwig
Adding the minor to the major creates tons of pointless conflicts. Just use the dev_t itself, which is 32-bits and thus is guaranteed to fit into ino_t. Signed-off-by: Christoph Hellwig --- fs/block_dev.c | 26 ++ 1 file changed, 2 insertions(+), 24 deletions(-) diff

[PATCH 73/78] block: use put_device in put_disk

2020-11-16 Thread Christoph Hellwig
Use put_device to put the device instead of poking into the internals and using kobject_put. Signed-off-by: Christoph Hellwig --- block/genhd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/genhd.c b/block/genhd.c index 56bc37e98ed852..f1e20ec1b62887 100644 ---

[PATCH 71/78] block: add a bdev_kobj helper

2020-11-16 Thread Christoph Hellwig
Add a little helper to find the kobject for a struct block_device. Signed-off-by: Christoph Hellwig --- drivers/md/bcache/super.c | 7 ++- drivers/md/md.c | 4 +--- fs/btrfs/sysfs.c | 15 +++ include/linux/blk_types.h | 3 +++ 4 files changed, 9

[PATCH 44/78] loop: use __register_blkdev to allocate devices on demand

2020-11-16 Thread Christoph Hellwig
Use the simpler mechanism attached to major_name to allocate a brd device when a currently unregistered minor is accessed. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/block/loop.c | 30 -- 1 file changed, 8 insertions(+), 22

[PATCH 65/78] dm: remove the block_device reference in struct mapped_device

2020-11-16 Thread Christoph Hellwig
Get rid of the long-lasting struct block_device reference in struct mapped_device. The only remaining user is the freeze code, where we can trivially look up the block device at freeze time and release the reference at thaw time. Signed-off-by: Christoph Hellwig --- drivers/md/dm-core.h | 2

[PATCH 51/78] z2ram: use separate gendisk for the different modes

2020-11-16 Thread Christoph Hellwig
Use separate gendisks (which share a tag_set) for the different operating modes instead of redirecting the gendisk lookup using a probe callback. This avoids potential problems with aliased block_device instances and will eventually allow for removing the blk_register_region framework.

[PATCH 21/78] md: remove a spurious call to revalidate_disk_size in update_size

2020-11-16 Thread Christoph Hellwig
None of the ->resize methods updates the disk size, so calling revalidate_disk_size here won't do anything. Signed-off-by: Christoph Hellwig Acked-by: Song Liu --- drivers/md/md-cluster.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c

[PATCH 28/78] md: implement ->set_read_only to hook into BLKROSET processing

2020-11-16 Thread Christoph Hellwig
Implement the ->set_read_only method instead of parsing the actual ioctl command. Signed-off-by: Christoph Hellwig --- drivers/md/md.c | 62 - 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index

[PATCH 38/78] block: rework requesting modules for unclaimed devices

2020-11-16 Thread Christoph Hellwig
Instead of reusing the ranges in bdev_map, add a new helper that is called if no ranges was found. This is a first step to unpeel and eventually remove the complex ranges structure. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- block/genhd.c | 25 +++--

[PATCH 56/78] init: refactor name_to_dev_t

2020-11-16 Thread Christoph Hellwig
Split each case into a self-contained helper. Signed-off-by: Christoph Hellwig --- include/linux/genhd.h | 7 +- init/do_mounts.c | 183 +- 2 files changed, 91 insertions(+), 99 deletions(-) diff --git a/include/linux/genhd.h

[PATCH 22/78] virtio-blk: remove a spurious call to revalidate_disk_size

2020-11-16 Thread Christoph Hellwig
revalidate_disk_size just updates the block device size from the disk size. Thus calling it from virtblk_update_cache_mode doesn't actually do anything. Signed-off-by: Christoph Hellwig Acked-by: Stefan Hajnoczi Acked-by: Michael S. Tsirkin --- drivers/block/virtio_blk.c | 1 - 1 file

[PATCH 57/78] init: refactor devt_from_partuuid

2020-11-16 Thread Christoph Hellwig
The code in devt_from_partuuid is very convoluted. Refactor a bit by sanitizing the goto and variable name usage. Signed-off-by: Christoph Hellwig --- init/do_mounts.c | 68 ++-- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git

[PATCH 58/78] init: cleanup match_dev_by_uuid and match_dev_by_label

2020-11-16 Thread Christoph Hellwig
Avoid a totally pointless goto label, and use the same style of comparism for both helpers. Signed-off-by: Christoph Hellwig --- init/do_mounts.c | 18 ++ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/init/do_mounts.c b/init/do_mounts.c index

[PATCH 18/78] zram: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig --- drivers/block/zram/zram_drv.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git

[PATCH 37/78] block: split block_class_lock

2020-11-16 Thread Christoph Hellwig
Split the block_class_lock mutex into one each to protect bdev_map and major_names. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- block/genhd.c | 29 +++-- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/block/genhd.c b/block/genhd.c

[PATCH 61/78] zram: do not call set_blocksize

2020-11-16 Thread Christoph Hellwig
set_blocksize is used by file systems to use their preferred buffer cache block size. Block drivers should not set it. Signed-off-by: Christoph Hellwig --- drivers/block/zram/zram_drv.c | 11 +-- drivers/block/zram/zram_drv.h | 1 - 2 files changed, 1 insertion(+), 11 deletions(-)

[PATCH 70/78] block: replace bd_mutex with a per-gendisk mutex

2020-11-16 Thread Christoph Hellwig
bd_mutex is primarily used for synchronizing the block device open and release path, which recurses from partitions to the whole disk device. The fact that we have two locks makes life unnecessarily complex due to lock order constrains. Replace the two levels of locking with a single mutex in the

[PATCH 39/78] block: add an optional probe callback to major_names

2020-11-16 Thread Christoph Hellwig
Add a callback to the major_names array that allows a driver to override how to probe for dev_t that doesn't currently have a gendisk registered. This will help separating the lookup of the gendisk by dev_t vs probe action for a not currently registered dev_t. Signed-off-by: Christoph Hellwig

[PATCH 60/78] zram: remove the claim mechanism

2020-11-16 Thread Christoph Hellwig
The zram claim mechanism was added to ensure no new opens come in during teardown. But the proper way to archive that is to call del_gendisk first, which takes care of all that. Once del_gendisk is called in the right place, the reset side can also be simplified as no I/O can be outstanding on a

[PATCH 27/78] rbd: implement ->set_read_only to hook into BLKROSET processing

2020-11-16 Thread Christoph Hellwig
Implement the ->set_read_only method instead of parsing the actual ioctl command. Signed-off-by: Christoph Hellwig Acked-by: Ilya Dryomov --- drivers/block/rbd.c | 40 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/drivers/block/rbd.c

[PATCH 32/78] block: remove set_device_ro

2020-11-16 Thread Christoph Hellwig
Fold set_device_ro into its only remaining caller. Signed-off-by: Christoph Hellwig --- block/genhd.c | 7 --- block/ioctl.c | 2 +- include/linux/genhd.h | 1 - 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index

[PATCH 26/78] block: add a new set_read_only method

2020-11-16 Thread Christoph Hellwig
Add a new method to allow for driver-specific processing when setting or clearing the block device read-only state. This allows to replace the cumbersome and error-prone override of the whole ioctl implementation. Signed-off-by: Christoph Hellwig --- block/ioctl.c | 5 +

[PATCH 14/78] nvme: use set_capacity_and_notify in nvme_set_queue_dying

2020-11-16 Thread Christoph Hellwig
Use the block layer helper to update both the disk and block device sizes. Contrary to the name no notification is sent in this case, as a size 0 is special cased. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/nvme/host/core.c | 13 + 1 file changed, 1

[PATCH 69/78] block: remove the nr_sects field in struct hd_struct

2020-11-16 Thread Christoph Hellwig
Now that the hd_struct always has a block device attached to it, there is no need for having two size field that just get out of sync. Additional the field in hd_struct did not use proper serializiation, possibly allowing for torn writes. By only using the block_device field this problem also

[PATCH 23/78] block: unexport revalidate_disk_size

2020-11-16 Thread Christoph Hellwig
revalidate_disk_size is now only called from set_capacity_and_notify, so drop the export. Signed-off-by: Christoph Hellwig --- fs/block_dev.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/block_dev.c b/fs/block_dev.c index 66ebf594c97f47..d8664f5c1ff669 100644 --- a/fs/block_dev.c +++

[PATCH 76/78] filemap: use ->f_mapping over ->i_mapping consistently

2020-11-16 Thread Christoph Hellwig
Use file->f_mapping in all functions that have a struct file available to properly handle the case where file_inode(file)->i_mapping != inode->i_mapping. Signed-off-by: Christoph Hellwig --- mm/filemap.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mm/filemap.c

[PATCH 67/78] block: simplify the block device claiming interface

2020-11-16 Thread Christoph Hellwig
Stop passing the whole device as a separate argument given that it can be trivially deducted. Signed-off-by: Christoph Hellwig --- drivers/block/loop.c | 12 +++- fs/block_dev.c | 69 +++--- include/linux/blkdev.h | 6 ++-- 3 files changed, 38

[PATCH 19/78] dm-raid: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/md/dm-raid.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff

[PATCH 68/78] block: remove ->bd_contains

2020-11-16 Thread Christoph Hellwig
Now that each gendisk has a reference to the block_device referencing it, we can just use that everywhere and get rid of ->bd_contain. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsicam.c| 2 +- fs/block_dev.c| 50 +--

[PATCH 75/78] block: stop using bdget_disk for partition 0

2020-11-16 Thread Christoph Hellwig
We can just dereference the point in struct gendisk instead. Also remove the now unused export. Signed-off-by: Christoph Hellwig --- block/genhd.c | 1 - drivers/block/nbd.c | 4 +--- drivers/block/xen-blkfront.c| 20 +---

[PATCH 40/78] ide: remove ide_{,un}register_region

2020-11-16 Thread Christoph Hellwig
There is no need to ever register the fake gendisk used for ide-tape. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/ide/ide-probe.c | 32 drivers/ide/ide-tape.c | 2 -- include/linux/ide.h | 3 --- 3 files changed, 37

[PATCH 74/78] block: merge struct block_device and struct hd_struct

2020-11-16 Thread Christoph Hellwig
Instead of having two structures that represent each block device with different lift time rules merged them into a single one. This also greatly simplifies the reference counting rules, as we can use the inode reference count as the main reference count for the new struct block_device, with the

[PATCH 24/78] mtd_blkdevs: don't override BLKFLSBUF

2020-11-16 Thread Christoph Hellwig
BLKFLSBUF is not supposed to actually send a flush command to the device, but to tear down buffer cache structures. Remove the mtd_blkdevs implementation and just use the default semantics instead. Signed-off-by: Christoph Hellwig Acked-by: Richard Weinberger --- drivers/mtd/mtd_blkdevs.c |

[PATCH 48/78] amiflop: use separate gendisks for Amiga vs MS-DOS mode

2020-11-16 Thread Christoph Hellwig
Use separate gendisks (which share a tag_set) for the native Amgiga vs the MS-DOS mode instead of redirecting the gendisk lookup using a probe callback. This avoids potential problems with aliased block_device instances and will eventually allow for removing the blk_register_region framework.

[PATCH 47/78] floppy: use a separate gendisk for each media format

2020-11-16 Thread Christoph Hellwig
The floppy driver usually autodetects the media when used with the normal /dev/fd? devices, which also are the only nodes created by udev. But it also supports various aliases that force a given media format. That is currently supported using the blk_register_region framework which finds the

[PATCH 17/78] rnbd: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig Acked-by: Jack Wang --- drivers/block/rnbd/rnbd-clt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff

[PATCH 41/78] swim: don't call blk_register_region

2020-11-16 Thread Christoph Hellwig
The swim driver (unlike various other floppy drivers) doesn't have magic device nodes for certain modes, and already registers a gendisk for each of the floppies supported by a device. Thus the region registered is a no-op and can be removed. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes

[PATCH 36/78] block: open code kobj_map into in block/genhd.c

2020-11-16 Thread Christoph Hellwig
Copy and paste the kobj_map functionality in the block code in preparation for completely rewriting it. Signed-off-by: Christoph Hellwig --- block/genhd.c | 130 +- 1 file changed, 117 insertions(+), 13 deletions(-) diff --git a/block/genhd.c

[PATCH 30/78] block: don't call into the driver for BLKROSET

2020-11-16 Thread Christoph Hellwig
Now that all drivers that want to hook into setting or clearing the read-only flag use the set_read_only method, this code can be removed. Signed-off-by: Christoph Hellwig --- block/ioctl.c | 23 --- 1 file changed, 23 deletions(-) diff --git a/block/ioctl.c b/block/ioctl.c

[PATCH 12/78] dm: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/md/dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH 16/78] rbd: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig Acked-by: Ilya Dryomov --- drivers/block/rbd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH 45/78] md: use __register_blkdev to allocate devices on demand

2020-11-16 Thread Christoph Hellwig
Use the simpler mechanism attached to major_name to allocate a md device when a currently unregistered minor is accessed. Signed-off-by: Christoph Hellwig Acked-by: Song Liu Reviewed-by: Hannes Reinecke --- drivers/md/md.c | 21 - 1 file changed, 8 insertions(+), 13

[PATCH 49/78] ataflop: use a separate gendisk for each media format

2020-11-16 Thread Christoph Hellwig
The Atari floppy driver usually autodetects the media when used with the ormal /dev/fd? devices, which also are the only nodes created by udev. But it also supports various aliases that force a given media format. That is currently supported using the blk_register_region framework which finds the

[PATCH 63/78] bcache: remove a superflous lookup_bdev all

2020-11-16 Thread Christoph Hellwig
Don't bother to call lookup_bdev for just a slightly different error message without any functional change. Signed-off-by: Christoph Hellwig --- drivers/md/bcache/super.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/md/bcache/super.c

[PATCH 64/78] dm: simplify flush_bio initialization in __send_empty_flush

2020-11-16 Thread Christoph Hellwig
We don't really need the struct block_device to initialize a bio. So switch from using bio_set_dev to manually setting up bi_disk (bi_partno will always be zero and has been cleared by bio_init already). Signed-off-by: Christoph Hellwig --- drivers/md/dm.c | 12 +++- 1 file changed, 3

[PATCH 20/78] md: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig Acked-by: Song Liu --- drivers/md/md-cluster.c | 6 ++ drivers/md/md-linear.c | 3 +-- drivers/md/md.c

[PATCH 29/78] dasd: implement ->set_read_only to hook into BLKROSET processing

2020-11-16 Thread Christoph Hellwig
Implement the ->set_read_only method instead of parsing the actual ioctl command. Signed-off-by: Christoph Hellwig --- drivers/s390/block/dasd.c | 1 + drivers/s390/block/dasd_int.h | 3 ++- drivers/s390/block/dasd_ioctl.c | 27 +-- 3 files changed, 12

[PATCH 52/78] block: switch gendisk lookup to a simple xarray

2020-11-16 Thread Christoph Hellwig
Now that bdev_map is only used for finding gendisks, we can use a simple xarray instead of the regions tracking structure for it. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Reviewed-by: Greg Kroah-Hartman --- block/genhd.c | 208

[PATCH 53/78] blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats

2020-11-16 Thread Christoph Hellwig
disk_get_part needs to be paired with a disk_put_part. Fixes: ef45fe470e1 ("blk-cgroup: show global disk stats in root cgroup io.stat") Signed-off-by: Christoph Hellwig --- block/blk-cgroup.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index

[PATCH 54/78] block: remove a duplicate __disk_get_part prototype

2020-11-16 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- include/linux/genhd.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 46553d6d602563..22f5b9fd96f8bf 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -250,7 +250,6 @@ static inline dev_t

[PATCH 77/78] fs: simplify the get_super_thawed interface

2020-11-16 Thread Christoph Hellwig
Merge get_super_thawed and get_super_exclusive_thawed into a single function. Signed-off-by: Christoph Hellwig --- fs/quota/quota.c | 4 ++-- fs/super.c | 42 +++--- include/linux/fs.h | 3 +-- 3 files changed, 14 insertions(+), 35 deletions(-)

[PATCH 78/78] block: remove i_bdev

2020-11-16 Thread Christoph Hellwig
Switch the block device lookup interfaces to directly work with a dev_t so that struct block_device references are only acquired by the blkdev_get variants (and the blk-cgroup special case). This means that we not don't need an extra reference in the inode. Signed-off-by: Christoph Hellwig ---

[PATCH 43/78] brd: use __register_blkdev to allocate devices on demand

2020-11-16 Thread Christoph Hellwig
Use the simpler mechanism attached to major_name to allocate a brd device when a currently unregistered minor is accessed. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/block/brd.c | 39 +++ 1 file changed, 11 insertions(+), 28

[PATCH 25/78] block: don't call into the driver for BLKFLSBUF

2020-11-16 Thread Christoph Hellwig
BLKFLSBUF is entirely contained in the block core, and there is no good reason to give the driver a hook into processing it. Signed-off-by: Christoph Hellwig --- block/ioctl.c | 7 --- 1 file changed, 7 deletions(-) diff --git a/block/ioctl.c b/block/ioctl.c index

[PATCH 62/78] loop: do not call set_blocksize

2020-11-16 Thread Christoph Hellwig
set_blocksize is used by file systems to use their preferred buffer cache block size. Block drivers should not set it. Signed-off-by: Christoph Hellwig --- drivers/block/loop.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index

[PATCH 50/78] z2ram: reindent

2020-11-16 Thread Christoph Hellwig
reindent the driver using Lident as the code style was far away from normal Linux code. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/block/z2ram.c | 493 -- 1 file changed, 236 insertions(+), 257 deletions(-) diff --git

[PATCH 42/78] sd: use __register_blkdev to avoid a modprobe for an unregistered dev_t

2020-11-16 Thread Christoph Hellwig
Switch from using blk_register_region to the probe callback passed to __register_blkdev to disable the request_module call for an unclaimed dev_t in the SD majors. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/scsi/sd.c | 19 +-- 1 file changed, 5

[PATCH 46/78] ide: switch to __register_blkdev for command set probing

2020-11-16 Thread Christoph Hellwig
ide is the last user of the blk_register_region framework except for the tracking of allocated gendisk. Switch to __register_blkdev, even if that doesn't allow us to trivially find out which command set to probe for. That means we now always request all modules when a user tries to access an

[PATCH 66/78] block: keep a block_device reference for each hd_struct

2020-11-16 Thread Christoph Hellwig
To simplify block device lookup and a few other upcomdin areas, make sure that we always have a struct block_device available for each disk and each partition. The only downside of this is that each device and partition uses a little more memories. The upside will be that a lot of code can be

[PATCH 15/78] drbd: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig --- drivers/block/drbd/drbd_main.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git

[PATCH 31/78] loop: use set_disk_ro

2020-11-16 Thread Christoph Hellwig
Use set_disk_ro instead of set_device_ro to match all other block drivers and to ensure all partitions mirror the read-only flag. Signed-off-by: Christoph Hellwig --- drivers/block/loop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/loop.c

[PATCH 34/78] block: propagate BLKROSET to all partitions

2020-11-16 Thread Christoph Hellwig
When setting the whole device read-only (or clearing the read-only state), also update the policy for all partitions. The s390 dasd driver has awlways been doing this and it makes a lot of sense. Signed-off-by: Christoph Hellwig --- block/ioctl.c | 5 - 1 file changed, 4 insertions(+), 1

[PATCH 72/78] block: use disk_part_iter_exit in disk_part_iter_next

2020-11-16 Thread Christoph Hellwig
Call disk_part_iter_exit in disk_part_iter_next instead of duplicating the functionality. Signed-off-by: Christoph Hellwig --- block/genhd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index 999f7142b04e7d..56bc37e98ed852 100644 ---

Re: cleanup updating the size of block devices v3

2020-11-16 Thread Christoph Hellwig
Oops, this is a bigger patch bomb than intended. Only patches 1-23 are this series which should be ready to be applied once for-5.11/block pulles in 5.10-rc4. After that follow patches already in for-5.11/block and my current hot off the press development branch.

[PATCH 13/78] pktcdvd: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to set the size of both the disk and block device. This also gets the uevent notifications for the resize for free. Signed-off-by: Christoph Hellwig --- drivers/block/pktcdvd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH 11/78] aoe: don't call set_capacity from irq context

2020-11-16 Thread Christoph Hellwig
Updating the block device size from irq context can lead to torn writes of the 64-bit value, and prevents us from using normal process context locking primitives to serialize access to the 64-bit nr_sectors value. Defer the set_capacity to the already existing workqueue handler, where it can be

[PATCH 09/78] nbd: validate the block size in nbd_set_size

2020-11-16 Thread Christoph Hellwig
Move the validation of the block from the callers into nbd_set_size. Signed-off-by: Christoph Hellwig Reviewed-by: Josef Bacik --- drivers/block/nbd.c | 47 +++-- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/drivers/block/nbd.c

[PATCH 08/78] nbd: refactor size updates

2020-11-16 Thread Christoph Hellwig
Merge nbd_size_set and nbd_size_update into a single function that also updates the nbd_config fields. This new function takes the device size in bytes as the first argument, and the blocksize as the second argument, simplifying the calculations required in most callers. Signed-off-by: Christoph

[PATCH 10/78] nbd: use set_capacity_and_notify

2020-11-16 Thread Christoph Hellwig
Use set_capacity_and_notify to update the disk and block device sizes and send a RESIZE uevent to userspace. Note that blktests relies on uevents being sent also for updates that did not change the device size, so the explicit kobject_uevent remains for that case. Signed-off-by: Christoph

[PATCH 07/78] nbd: move the task_recv check into nbd_size_update

2020-11-16 Thread Christoph Hellwig
nbd_size_update is about to acquire a few more callers, so lift the check into the function. Signed-off-by: Christoph Hellwig Reviewed-by: Josef Bacik --- drivers/block/nbd.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/block/nbd.c

cleanup updating the size of block devices v3

2020-11-16 Thread Christoph Hellwig
Hi Jens, this series builds on top of the work that went into the last merge window, and make sure we have a single coherent interfac for updating the size of a block device. Changes since v2: - rebased to the set_capacity_revalidate_and_notify in mainline - keep the loop_set_size function -

  1   2   >