From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> Recentish (2011) kernels introduced a new device called /dev/loop-control, which causes libvirt's detection of loop devices to get confused since it only checks for a prefix of 'loop'. Also check that the next character is a digit Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- src/util/virfile.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/util/virfile.c b/src/util/virfile.c index 8f0eec3..2b07ac9 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -546,7 +546,11 @@ static int virFileLoopDeviceOpen(char **dev_name) errno = 0; while ((de = readdir(dh)) != NULL) { - if (!STRPREFIX(de->d_name, "loop")) + /* Checking 'loop' prefix is insufficient, since + * new kernels have a dev named 'loop-control' + */ + if (!STRPREFIX(de->d_name, "loop") || + !c_isdigit(de->d_name[4])) continue; if (virAsprintf(&looppath, "/dev/%s", de->d_name) < 0) -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list