mbox series

[v2,0/3] Ignore path devices in multipath setups

Message ID 20210930120634.632946-1-nborisov@suse.com (mailing list archive)
Headers show
Series Ignore path devices in multipath setups | expand

Message

Nikolay Borisov Sept. 30, 2021, 12:06 p.m. UTC
This patch set improves the scanning behavior of btrfs-progs such that devices
which represent paths to a multipath device will be ignored when scanning. There
was an internal report that this causes problems with libstorage-ng. The behavior of
showing path devices diverges from the kernel, where on mounted filesystem only
the actual multipath device will be shown.

Changes in V2:

* Split build system related changes to the first patch of the series.

* Eliminated function names starting with __

* Instead of defining an 'if' always implement sane behavior of is_path_device
based on the state of the systems

* Eliminated special constant and started using PATH_MAX.


Nikolay Borisov (3):
  btrfs-progs: Add optional dependency on libudev
  btrfs-progs: Ignore devices representing paths in multipath
  btrfs-progs: Add fallback code for path device ignore for static build

 Makefile             |  2 +-
 Makefile.inc.in      |  2 +-
 common/device-scan.c | 84 ++++++++++++++++++++++++++++++++++++++++++++
 configure.ac         |  9 +++++
 4 files changed, 95 insertions(+), 2 deletions(-)

--
2.17.1

Comments

David Sterba Oct. 5, 2021, 3:18 p.m. UTC | #1
On Thu, Sep 30, 2021 at 03:06:31PM +0300, Nikolay Borisov wrote:
> This patch set improves the scanning behavior of btrfs-progs such that devices
> which represent paths to a multipath device will be ignored when scanning. There
> was an internal report that this causes problems with libstorage-ng. The behavior of
> showing path devices diverges from the kernel, where on mounted filesystem only
> the actual multipath device will be shown.
> 
> Changes in V2:
> 
> * Split build system related changes to the first patch of the series.
> 
> * Eliminated function names starting with __
> 
> * Instead of defining an 'if' always implement sane behavior of is_path_device
> based on the state of the systems
> 
> * Eliminated special constant and started using PATH_MAX.
> 
> 
> Nikolay Borisov (3):
>   btrfs-progs: Add optional dependency on libudev
>   btrfs-progs: Ignore devices representing paths in multipath
>   btrfs-progs: Add fallback code for path device ignore for static build

Added to devel, thanks. I slightly changed how the libudev dependency is
done, required by default with possible --diable-libudev. Though it's
introducing a dependency in a minor release, it's required to have the
multipath support and that I belive is case for most distros anyway.