bug-parted
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Phillip Susi
Subject: bug#15348: [PATCH 11/19] libparted: don't canonicalize /dev/md/ paths (#872361)
Date: Wed, 25 Sep 2013 11:56:52 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I still think this section of code is wrong for two reasons:

1)  It should not skip canonicalization, but rather do it correctly
2)  It should not be based on the path given, but on the dev_t

Examples:

parted /dev/disk/by-id/xxxxx print
parted /dev/vg/lv print

Because the string does not start with /dev/mapper, it is
canonicalized to /dev/dm-x.  Instead it should notice the dev_t major
is device mapper, and use the dm api to read the name and append it to
"/dev/mapper" for the official name.

On 9/11/2013 3:25 PM, Brian C. Lane wrote:
> From: "Brian C. Lane" <address@hidden>
> 
> This is the same issue we have with /dev/mapper/ paths that was
> fixed in commit c1eb485b9fd8919e18f192d678bc52b0488e6ee0. When
> libparted is used to setup the device the symlink should be used to
> reference it, not the backing device name which could change.
> 
> * libparted/device.c (ped_device_get): Don't canonicalize names 
> that start with "/dev/md/". --- libparted/device.c | 7 +++++-- 1
> file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/libparted/device.c b/libparted/device.c index
> 738b320..cdcc117 100644 --- a/libparted/device.c +++
> b/libparted/device.c @@ -152,8 +152,11 @@ ped_device_get (const
> char* path) char*             normal_path = NULL;
> 
> PED_ASSERT (path != NULL); -  /* Don't canonicalize /dev/mapper
> paths, see tests/symlink.c */ -       if (strncmp (path, "/dev/mapper/",
> 12)) +        /* Don't canonicalize /dev/mapper or /dev/md/ paths, see +
> tests/symlink.c +     */ +    if (strncmp (path, "/dev/mapper/", 12) && +
> strncmp (path, "/dev/md/", 8)) normal_path = canonicalize_file_name
> (path); if (!normal_path) /* Well, maybe it is just that the file
> does not exist.
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJSQwfEAAoJEJrBOlT6nu75U4oIANFSZR6fU0vKIYLp/GIGjVOM
aqaPoBFpzWMfXoP4niJaKLm22Q0t50ckjl6Mv9iwoZbI2xHj0vaFCDwEttw6wCYZ
hLt6JLFmA3sZE8psSm9VeflCCgEIKVtOS4pq0S13eWcZhlW6JgMpbidHVg2Fvjkw
eBK2MUY0nga22J1B8Ib84ugv/RImatg/x2w1+xwfihon83MnKz5v9ZwybQ/bUHhc
Bm1xAbtihdfLUzSFoblAhQqdBdUnoUmlOaLsHch2ZY+/4cEu1H76WiHdLUcO6GZV
MjMh9UPZGVSvCmMtUgL7SmbAdsVy5EcaYTfzDPI/k9I5LaBsw2tRl97vUoEfMzc=
=b+wC
-----END PGP SIGNATURE-----





reply via email to

[Prev in Thread] Current Thread [Next in Thread]