-----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" <b...@redhat.com> > > 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-----