[brasero] Improved debugging to catch a fishy thing happening with KVM



commit 254ddc399ad6162ff3e18c57eef5382fed810276
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Wed Jul 22 16:40:00 2009 +0200

    Improved debugging to catch a fishy thing happening with KVM

 libbrasero-media/brasero-drive.c   |    2 ++
 libbrasero-media/scsi-mode-sense.c |   14 ++++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/libbrasero-media/brasero-drive.c b/libbrasero-media/brasero-drive.c
index 796e7dc..a9c7e0c 100644
--- a/libbrasero-media/brasero-drive.c
+++ b/libbrasero-media/brasero-drive.c
@@ -785,6 +785,8 @@ brasero_drive_get_caps_profiles (BraseroDrive *self,
 		return FALSE;
 	}
 
+	BRASERO_MEDIA_LOG ("Dectected media %x", BRASERO_GET_16 (hdr->current_profile));
+
 	/* Go through all features available */
 	desc = hdr->desc;
 	profiles = (BraseroScsiProfileDesc *) desc->data;
diff --git a/libbrasero-media/scsi-mode-sense.c b/libbrasero-media/scsi-mode-sense.c
index 7464ddf..2c9916a 100644
--- a/libbrasero-media/scsi-mode-sense.c
+++ b/libbrasero-media/scsi-mode-sense.c
@@ -135,8 +135,14 @@ brasero_spc1_mode_sense_get_page (BraseroDeviceHandle *handle,
 
 	/* Paranoïa, make sure:
 	 * - the size given in header, the one of the page returned are coherent
-	 * - the block descriptors are actually disabled
-	 */
+	 * - the block descriptors are actually disabled */
+	if (BRASERO_GET_16 (header.hdr.bdlen)) {
+		BRASERO_SCSI_SET_ERRCODE (error, BRASERO_SCSI_BAD_ARGUMENT);
+		BRASERO_MEDIA_LOG ("Block descriptors not disabled %i", BRASERO_GET_16 (header.hdr.bdlen));
+		res = BRASERO_SCSI_FAILURE;
+		goto end;
+	}
+
 	request_size = BRASERO_GET_16 (header.hdr.len) +
 		       G_STRUCT_OFFSET (BraseroScsiModeHdr, len) +
 		       sizeof (header.hdr.len);
@@ -145,9 +151,9 @@ brasero_spc1_mode_sense_get_page (BraseroDeviceHandle *handle,
 		    G_STRUCT_OFFSET (BraseroScsiModePage, len) +
 		    sizeof (header.page.len);
 
-	if (BRASERO_GET_16 (header.hdr.bdlen)
-	||  request_size != page_size + sizeof (BraseroScsiModeHdr)) {
+	if (request_size != page_size + sizeof (BraseroScsiModeHdr)) {
 		BRASERO_SCSI_SET_ERRCODE (error, BRASERO_SCSI_SIZE_MISMATCH);
+		BRASERO_MEDIA_LOG ("Incoherent answer sizes: request %i, page %i", request_size, page_size);
 		res = BRASERO_SCSI_FAILURE;
 		goto end;
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]