mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
camcontrol: No need to set CAM_ARG_[PG]LIST in defects
We can or in the the list_format bits directly if we or in the list_format when we look it up the first time. Free up CAM_ARG_[PG]LIST from the CAM_ARG_xxx enum. Sponsored by: Netflix Reviewed by: mav (I made his suggested change) Differential Revision: https://reviews.freebsd.org/D40523
This commit is contained in:
parent
97e24c3868
commit
f20d86e171
|
@ -126,8 +126,8 @@ typedef enum {
|
|||
/* unused 0x00000080 */
|
||||
/* unused 0x00000100 */
|
||||
/* unused 0x00000200 */
|
||||
CAM_ARG_PLIST = 0x00000400,
|
||||
CAM_ARG_GLIST = 0x00000800,
|
||||
/* unused 0x00000400 */
|
||||
/* unused 0x00000800 */
|
||||
CAM_ARG_GET_SERIAL = 0x00001000,
|
||||
CAM_ARG_GET_STDINQ = 0x00002000,
|
||||
CAM_ARG_GET_XFERRATE = 0x00004000,
|
||||
|
@ -3849,13 +3849,19 @@ readdefects(struct cam_device *device, int argc, char **argv,
|
|||
scsi_nv_status status;
|
||||
int entry_num = 0;
|
||||
|
||||
if (list_type_set) {
|
||||
warnx("%s: -f specified twice", __func__);
|
||||
error = 1;
|
||||
goto defect_bailout;
|
||||
}
|
||||
|
||||
status = scsi_get_nv(defect_list_type_map,
|
||||
sizeof(defect_list_type_map) /
|
||||
sizeof(defect_list_type_map[0]), optarg,
|
||||
&entry_num, SCSI_NV_FLAG_IG_CASE);
|
||||
|
||||
if (status == SCSI_NV_FOUND) {
|
||||
list_format = defect_list_type_map[
|
||||
list_format |= defect_list_type_map[
|
||||
entry_num].value;
|
||||
list_type_set = true;
|
||||
} else {
|
||||
|
@ -3869,10 +3875,12 @@ readdefects(struct cam_device *device, int argc, char **argv,
|
|||
break;
|
||||
}
|
||||
case 'G':
|
||||
arglist |= CAM_ARG_GLIST;
|
||||
list_format |= SRDD10_GLIST;
|
||||
lists_specified++;
|
||||
break;
|
||||
case 'P':
|
||||
arglist |= CAM_ARG_PLIST;
|
||||
list_format |= SRDD10_PLIST;
|
||||
lists_specified++;
|
||||
break;
|
||||
case 'q':
|
||||
quiet = true;
|
||||
|
@ -3905,16 +3913,6 @@ readdefects(struct cam_device *device, int argc, char **argv,
|
|||
goto defect_bailout;
|
||||
}
|
||||
|
||||
if (arglist & CAM_ARG_PLIST) {
|
||||
list_format |= SRDD10_PLIST;
|
||||
lists_specified++;
|
||||
}
|
||||
|
||||
if (arglist & CAM_ARG_GLIST) {
|
||||
list_format |= SRDD10_GLIST;
|
||||
lists_specified++;
|
||||
}
|
||||
|
||||
/*
|
||||
* This implies a summary, and was the previous behavior.
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue