commit 3635fcf3f7358f006a5025b9773034088bdd01fd Author: Goffredo Baroncelli Date: Fri Oct 21 19:00:28 2011 +0200 Ignore the error ENXIO and ENOMEDIUM during a devs scan Ignore the error ENXIO (device don't exists) and ENOMEDIUM ( No medium found -> like a cd tray empty) in the function btrfs_scan_one_dir. This avoids spurios errors due to an empty CD or a block device node without a device (which is frequent in a static /dev). Signed-off-by: Goffredo Baroncelli diff --git a/utils.c b/utils.c index 86c643c..5761e47 100644 --- a/utils.c +++ b/utils.c @@ -997,8 +997,14 @@ again: } fd = open(fullpath, O_RDONLY); if (fd < 0) { - fprintf(stderr, "failed to read %s: %s\n", fullpath, - strerror(errno)); + /* ignore the following errors: + ENXIO (device don't exists) + ENOMEDIUM (No medium found -> + like a cd tray empty) + */ + if(errno != ENXIO && errno != ENOMEDIUM) + fprintf(stderr, "failed to read %s: %s\n", + fullpath, strerror(errno)); continue; } ret = btrfs_scan_one_device(fd, fullpath, &tmp_devices,