SHA256
1
0
forked from pool/lvm2
OBS User unknown
2006-12-18 13:01:39 +00:00
committed by Git OBS Bridge
commit ef38e092b1
15 changed files with 1537 additions and 0 deletions

36
improve_probing.diff Normal file
View File

@@ -0,0 +1,36 @@
--- lib/filters/filter.c.orig
+++ lib/filters/filter.c
@@ -13,6 +13,12 @@
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <sys/ioctl.h>
+#include <linux/fs.h>
+#undef MAJOR
+#undef MINOR
+#undef MKDEV
+
#include "lib.h"
#include "dev-cache.h"
#include "filter.h"
@@ -87,11 +93,18 @@
}
/* Check it's accessible */
- if (!dev_open_flags(dev, O_RDONLY, 0, 1)) {
+ if (!dev_open_flags(dev, O_RDONLY|O_NONBLOCK, 0, 1)) {
log_debug("%s: Skipping: open failed", name);
return 0;
}
-
+
+ /* Skip cdrom device */
+ #define CDROM_GET_CAPABILITY 0x5331
+ if (ioctl(dev->fd, CDROM_GET_CAPABILITY) >= 0) {
+ log_debug("%s: Skipping: cdrom device", name );
+ goto out;
+ }
+
/* Check it's not too small */
if (!dev_get_size(dev, &size)) {
log_debug("%s: Skipping: dev_get_size failed", name);