[parted-devel] [PATCH] Ignore devices where we can't create a new PedDisk
David Cantrell
dcantrell at redhat.com
Wed Aug 1 15:21:41 UTC 2007
On Wed, 01 Aug 2007 09:45:44 +0200
Jim Meyering <jim at meyering.net> wrote:
> Hi David,
>
> What's the motivation for this patch?
> IMHO, such a change should be accompanied by
> a test case, or at the very least enough explanation
> to construct a test case.
>
> This change (on the trunk) causes "make check" to fail
> all but two tests, so I've reverted it there.
First, know that I'm pretty much only working with the stable-1.8.x branch. I don't even have time to work with trunk, ever. Otavio suggested the patches be made to trunk, then cherry-picked to stable. Well, I'm the stable branch maintainer and that's not a very effective way for me to work. If a stable patch is applicable to trunk, we can cherry-pick the other way.
On to the patch. While working on a RHEL bug, I discovered that the linux_probe_all() function in libparted/arch/linux.c walks three possible sources to find block devices:
- A list of "standard" devices hardwired in linux.c (just hdX and sdX devices)
- The contents of /sys/block with ., .., dm-*, and ram* filtered out
- The contents of /proc/partitions
The /proc/partitions file is looked at only if /sys/block isn't available. On my system, I had /sys/block available and there was one node that showed up that caused parted to crash. That node was md0. There were no software RAID devices on the system at all. /sys/block/md0 was bogus. But since libparted found it during the device probe, it tried to read a label from it. Crash.
So I placed the ped_disk_new() test there because if it fails, the device wouldn't open, so I return NULL there. Maybe that's the wrong place to do that, but the situation is valid. We should test to make sure we can open the device during a probe all rather than assuming it can be read.
Should I have written a test case...yes, but after hacking on it for a few days and PM yelling at me, I really just didn't even think about it. Apologies.
--
David Cantrell <dcantrell at redhat.com>
Red Hat / Westford, MA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/parted-devel/attachments/20070801/461e8446/attachment.pgp
More information about the parted-devel
mailing list