Subject: bug#15348: [PATCH 11/19] libparted: don't canonicalize /dev/md/ paths (#872361)

From: "Brian C. Lane" <[email-masked]>
Date: Wed, 2 Oct 2013 11:45:49 -0700

On Mon, Sep 30, 2013 at 03:29:53PM -0400, Phillip Susi wrote:
> Now that I look more closely at the named md situation, it seems it
> doesn't quite face the same issue as dm.  With dm, you must not
> canonicalize the name when generating the partition device name, since
> there is no /dev/dm-0p1 ( so we would fail to open the partition dev
> node ).  With md, there is a /dev/md0p1, in addition to the
> /dev/md/foo1 symlink pointing to it, so either way should work.
> 
> I guess now the purpose of this patch is purely for the user
> experience?  If a user runs parted on /dev/md/foo then they expect
> parted to state that is what it is working on instead of /dev/md0?  Is
> the reverse true, or should parted always favor the name even if run
> on the number?  What if it is invoked on /dev/disk/by-id?

I think parted should always stick with the name the user gives it. I'm
not sure what side-effects that would have so that's why I only changed
it for /dev/md/

I don't think looking up specific majors is useful here, the actual
problem is that when something uses libparted (eg. anaconda) to open a
device and then later tries to look it up by that same path it won't
find it if the symlink is followed and the name changed.

Personally, I can't think of a situation where I'd ever want the name I
give it to be changed, whether I'm using the cli or libparted. Maybe we
should drop that whole bit and just use the path we're given?

-- 
Brian C. Lane | Anaconda Team | IRC: bcl #anaconda | Port Orchard, WA (PST8PDT)