From 18a5c483e871321289f50d059561c36ce1e64a0e Mon Sep 17 00:00:00 2001 From: Avik Sil Date: Wed, 24 Jul 2013 14:26:16 +0530 Subject: [PATCH] Enumerate disk/cdrom aliases for multiple disks or cdroms This patch enumerates aliases (e.g. disk, disk1, disk2 etc.) for multiple disk or cdrom provided Signed-off-by: Avik Sil Signed-off-by: Nikunj A Dadhania --- slof/fs/scsi-probe-helpers.fs | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/slof/fs/scsi-probe-helpers.fs b/slof/fs/scsi-probe-helpers.fs index 4fb8aba..7cb40c2 100644 --- a/slof/fs/scsi-probe-helpers.fs +++ b/slof/fs/scsi-probe-helpers.fs @@ -42,6 +42,21 @@ nip ; +8 CONSTANT MAX-ALIAS +0 VALUE srplun +: make-media-alias ( $name srplun -- ) + TO srplun + 2dup find-alias IF + drop MAX-ALIAS 1 DO + i $cathex 2dup find-alias 0= IF + strdup srplun make-disk-alias UNLOOP EXIT + ELSE drop THEN + LOOP + ELSE + srplun make-disk-alias + THEN +; + : scsi-find-disks ( -- ) ." SCSI: Looking for devices" cr vscsi-report-luns @@ -56,10 +71,10 @@ \ and maybe provide better printout & more cases \ XXX FIXME: Actually check for LUNs sector inquiry-data>peripheral c@ CASE - 0 OF ." DISK : " " disk" current-target make-disk-alias ENDOF - 5 OF ." CD-ROM : " " cdrom" current-target make-disk-alias ENDOF - 7 OF ." OPTICAL : " " cdrom" current-target make-disk-alias ENDOF - e OF ." RED-BLOCK: " " disk" current-target make-disk-alias ENDOF + 0 OF ." DISK : " " disk" current-target make-media-alias ENDOF + 5 OF ." CD-ROM : " " cdrom" current-target make-media-alias ENDOF + 7 OF ." OPTICAL : " " cdrom" current-target make-media-alias ENDOF + e OF ." RED-BLOCK: " " disk" current-target make-media-alias ENDOF dup dup OF ." ? (" . 8 emit 29 emit 5 spaces ENDOF ENDCASE sector .inquiry-text cr