diff --git a/doc/sg_rdac.8 b/doc/sg_rdac.8 index 8e3d27a..cac0776 100644 --- a/doc/sg_rdac.8 +++ b/doc/sg_rdac.8 @@ -19,6 +19,8 @@ Transfer all (visible) devices \fB\-f\fR=\fILUN\fR Transfer the device identified by \fILUN\fR. This command will only work if the controller supports 'Dual Active Mode' (aka active/active mode). +\fILUN\fR is a decimal number which cannot exceed 31 when the \fI\-6\fR +option is given, otherwise is cannot exceed 255. .TP \fB\-v\fR be verbose @@ -33,7 +35,7 @@ Written by Hannes Reinecke , based on sg_emc_trespass. .SH "REPORTING BUGS" Report bugs to . .SH COPYRIGHT -Copyright \(co 2006\-2012 Hannes Reinecke, Douglas Gilbert. +Copyright \(co 2006\-2016 Hannes Reinecke, Douglas Gilbert. .br This software is distributed under the GPL version 2. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/src/sg_rdac.c b/src/sg_rdac.c index ea243a2..63cfe46 100644 --- a/src/sg_rdac.c +++ b/src/sg_rdac.c @@ -188,9 +188,16 @@ static int fail_this_path(int fd, int lun, int use_6_byte) struct rdac_page_common *rdac_common = NULL; int res; - if (use_6_byte && lun > 32) { - fprintf(stderr, "must use 10 byte cdb to fail luns over 32\n"); - return -1; + if (use_6_byte) { + if (lun > 31) { + fprintf(stderr, "must use 10 byte cdb to fail luns over 31\n"); + return -1; + } + } else { /* 10 byte cdb case */ + if (lun > 255) { + fprintf(stderr, "lun cannot exceed 255\n"); + return -1; + } } memset(fail_paths_pg, 0, 308);