[dm-devel] [PATCH] multipath-tools: add more info for NetApp RDAC arrays

2022-08-23 Thread Xose Vazquez Perez
From: https://library.netapp.com/ecmdocs/ECMLP2439710/html/GUID-49E94674-947F-4921-A1D1-CE9B42DCBA39.html https://library.netapp.com/ecmdocs/ECMLP2439710/html/GUID-CA17AE34-F5B2-4FF4-8FD4-4A7AA4238976.html

Re: [dm-devel] [PATCH 3/3] multipath: optimize program startup for frequent invocations

2022-08-23 Thread Benjamin Marzinski
On Thu, Aug 18, 2022 at 11:06:30PM +0200, mwi...@suse.com wrote: > From: Martin Wilck > > Neither "multipath -u" nor "multipath -U" need initialization of the > prioritizers, checkers, and foreign libraries. Also, these commands > need not fail if the bindings file is inconsistent. Move these >

Re: [dm-devel] [PATCH 2/3] libmultipath: check_alias_settings(): pre-sort mptable by alias

2022-08-23 Thread Benjamin Marzinski
On Thu, Aug 18, 2022 at 11:06:29PM +0200, mwi...@suse.com wrote: > From: Martin Wilck > > add_binding() contains an optimization; it assumes that the list of > bindings is alphabetically sorted by alias, and tries to maintain > this order. > > But conf->mptable is sorted by wwid. Therefore

Re: [dm-devel] [PATCH 1/3] libmultipath: merge_mptable(): sort table by wwid

2022-08-23 Thread Benjamin Marzinski
On Thu, Aug 18, 2022 at 11:06:28PM +0200, mwi...@suse.com wrote: > From: Martin Wilck > > If the mptable is very large (for example, in a configuration with > lots of maps assigned individual aliases), merge_mptable may get > very slow because it needs to make O(n^2) string comparisons (with > n

[dm-devel] dm-devel mailing list messages not sent to everyone last week

2022-08-23 Thread Alasdair G Kergon
Some curious happenings led to the configuration and membership of the dm-devel mailing list getting wound back to its state in 2004 just over a week ago. It was restored yesterday, but you might want to look at the list archives to check for any messages you missed:

[dm-devel] [PATCH v12 13/13] dm: add power-of-2 target for zoned devices with non power-of-2 zone sizes

2022-08-23 Thread Pankaj Raghav
Only zoned devices with power-of-2(po2) number of sectors per zone(zone size) were supported in linux but now non power-of-2(npo2) zone sizes support has been added to the block layer. Filesystems such as F2FS and btrfs have support for zoned devices with po2 zone size assumption. Before adding

[dm-devel] [PATCH v12 09/13] dm-zone: use generic helpers to calculate offset from zone start

2022-08-23 Thread Pankaj Raghav
Use the bdev_offset_from_zone_start() helper function to calculate the offset from zone start instead of using power of 2 based calculation. Signed-off-by: Pankaj Raghav Reviewed-by: Luis Chamberlain Reviewed-by: Damien Le Moal --- drivers/md/dm-zone.c | 8 +++- 1 file changed, 3

[dm-devel] [PATCH v12 10/13] dm-table: allow zoned devices with non power-of-2 zone sizes

2022-08-23 Thread Pankaj Raghav
Allow dm to support zoned devices with non power-of-2(po2) zone sizes as the block layer now supports it. Signed-off-by: Pankaj Raghav Reviewed-by: Bart Van Assche Reviewed-by: Damien Le Moal --- drivers/md/dm-table.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git

[dm-devel] [PATCH v12 08/13] dm-zoned: ensure only power of 2 zone sizes are allowed

2022-08-23 Thread Pankaj Raghav
From: Luis Chamberlain dm-zoned relies on the assumption that the zone size is a power-of-2(po2) and the zone capacity is same as the zone size. Ensure only po2 devices can be used as dm-zoned target until a native support for zoned devices with non-po2 zone size is added. Reviewed-by: Hannes

[dm-devel] [PATCH v12 11/13] dm: call dm_zone_endio after the target endio callback for zoned devices

2022-08-23 Thread Pankaj Raghav
dm_zone_endio() updates the bi_sector of orig bio for zoned devices that uses either native append or append emulation, and it is called before the endio of the target. But target endio can still update the clone bio after dm_zone_endio is called, thereby, the orig bio does not contain the updated

[dm-devel] [PATCH v12 12/13] dm: introduce DM_EMULATED_ZONES target type

2022-08-23 Thread Pankaj Raghav
Introduce a new target type DM_EMULATED_ZONES for targets with a different number of sectors per zone (aka zone size) than the underlying device zone size. This target type is introduced as the existing zoned targets assume that the target and the underlying device have the same zone size. The

[dm-devel] [PATCH v12 07/13] zonefs: allow non power of 2 zoned devices

2022-08-23 Thread Pankaj Raghav
The zone size shift variable is useful only if the zone sizes are known to be power of 2. Remove that variable and use generic helpers from block layer to calculate zone index in zonefs. Acked-by: Damien Le Moal Reviewed-by: Luis Chamberlain Signed-off-by: Pankaj Raghav --- fs/zonefs/super.c

[dm-devel] [PATCH v12 06/13] null_blk: allow zoned devices with non power-of-2 zone sizes

2022-08-23 Thread Pankaj Raghav
Convert the power-of-2(po2) based calculation with zone size to be generic in null_zone_no with optimization for po2 zone sizes. The nr_zones calculation in null_init_zoned_dev has been replaced with a division without special handling for po2 zone sizes as this function is called only during the

[dm-devel] [PATCH v12 05/13] nvme: zns: Allow ZNS drives that have non-power_of_2 zone size

2022-08-23 Thread Pankaj Raghav
Remove the condition which disallows non-power_of_2 zone size ZNS drive to be updated and use generic method to calculate number of zones instead of relying on log and shift based calculation on zone size. The power_of_2 calculation has been replaced directly with generic calculation without

[dm-devel] [PATCH v12 03/13] block: allow blk-zoned devices to have non-power-of-2 zone size

2022-08-23 Thread Pankaj Raghav
Checking if a given sector is aligned to a zone is a common operation that is performed for zoned devices. Add bdev_is_zone_start helper to check for this instead of opencoding it everywhere. Convert the calculations on zone size to be generic instead of relying on power-of-2(po2) based

[dm-devel] [PATCH v12 01/13] block: make bdev_nr_zones and disk_zone_no generic for npo2 zone size

2022-08-23 Thread Pankaj Raghav
Adapt bdev_nr_zones and disk_zone_no functions so that they can also work for non-power-of-2 zone sizes. As the existing deployments assume that a device zone size is a power of 2 number of sectors, power-of-2 optimized calculation is used for those devices. There are no direct hot paths

[dm-devel] [PATCH v12 04/13] nvmet: Allow ZNS target to support non-power_of_2 zone sizes

2022-08-23 Thread Pankaj Raghav
A generic bdev_zone_no() helper is added to calculate zone number for a given sector in a block device. This helper internally uses disk_zone_no() to find the zone number. Use the helper bdev_zone_no() to calculate nr of zones. This let's us make modifications to the math if needed in one place

[dm-devel] [PATCH v12 00/13] support zoned block devices with non-power-of-2 zone sizes

2022-08-23 Thread Pankaj Raghav
atch series is based on linux-next tag: next-20220823 Testing: The new target was tested with blktest and zonefs test suite in qemu and on a real ZNS device with npo2 zone size. Performance Measurement on a null blk: Device: zone size = 128M, blocksize=4k FIO cmd: fio --name=zbc --filename=/d

[dm-devel] [PATCH v12 02/13] block:rearrange bdev_{is_zoned, zone_sectors, get_queue} helpers in blkdev.h

2022-08-23 Thread Pankaj Raghav
Define bdev_is_zoned(), bdev_zone_sectors() and bdev_get_queue() earlier in the blkdev.h include file. Simplify bdev_is_zoned() by removing the superfluous NULL check for request queue while we are at it. This commit has no functional change, and it is a prep patch for allowing zoned devices with