File improve_probing.diff of Package lvm2.3105

Index: LVM2.2.02.111/lib/filters/filter-type.c
===================================================================
--- LVM2.2.02.111.orig/lib/filters/filter-type.c
+++ LVM2.2.02.111/lib/filters/filter-type.c
@@ -12,6 +12,11 @@
  * along with this program; if not, write to the Free Software Foundation,
  * 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 "filter.h"
@@ -28,6 +33,13 @@ static int _passes_lvm_type_device_filte
 		return 0;
 	}
 
+       /* Skip cdrom device */
+       #define CDROM_GET_CAPABILITY   0x5331
+       if (ioctl(dev->fd, CDROM_GET_CAPABILITY) >= 0) {
+               log_debug_devs("%s: Skipping: cdrom device", name );
+               return 0;
+       }
+
 	return 1;
 }
 
openSUSE Build Service is sponsored by