"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/sg_format.c" between
sg3_utils-1.47r908.tgz and sg3_utils-1.47r915.tar.xz

About: sg3_utils contains utilities that send SCSI commands to devices. Beta version.

sg_format.c  (sg3_utils-1.47r908.tgz):sg_format.c  (sg3_utils-1.47r915.tar.xz)
skipping to change at line 43 skipping to change at line 43
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
#endif #endif
#include "sg_lib.h" #include "sg_lib.h"
#include "sg_cmds_basic.h" #include "sg_cmds_basic.h"
#include "sg_cmds_extra.h" #include "sg_cmds_extra.h"
#include "sg_unaligned.h" #include "sg_unaligned.h"
#include "sg_pr2serr.h" #include "sg_pr2serr.h"
#include "sg_pt.h" #include "sg_pt.h"
static const char * version_str = "1.62 20201223"; static const char * version_str = "1.63 20210830";
#define RW_ERROR_RECOVERY_PAGE 1 /* can give alternate with --mode=MP */ #define RW_ERROR_RECOVERY_PAGE 1 /* can give alternate with --mode=MP */
#define SHORT_TIMEOUT 20 /* 20 seconds unless --wait given */ #define SHORT_TIMEOUT 20 /* 20 seconds unless --wait given */
#define FORMAT_TIMEOUT (20 * 3600) /* 20 hours ! */ #define FORMAT_TIMEOUT (20 * 3600) /* 20 hours ! */
#define FOUR_TBYTE (4LL * 1000 * 1000 * 1000 * 1000) #define FOUR_TBYTE (4LL * 1000 * 1000 * 1000 * 1000)
#define LONG_FORMAT_TIMEOUT (40 * 3600) /* 40 hours */ #define LONG_FORMAT_TIMEOUT (40 * 3600) /* 40 hours */
#define EIGHT_TBYTE (FOUR_TBYTE * 2) #define EIGHT_TBYTE (FOUR_TBYTE * 2)
#define VLONG_FORMAT_TIMEOUT (80 * 3600) /* 3 days, 8 hours */ #define VLONG_FORMAT_TIMEOUT (80 * 3600) /* 3 days, 8 hours */
skipping to change at line 307 skipping to change at line 307
if (NULL == ptvp) { if (NULL == ptvp) {
pr2serr("%s: out of memory\n", __func__); pr2serr("%s: out of memory\n", __func__);
return sg_convert_errno(ENOMEM); return sg_convert_errno(ENOMEM);
} }
set_scsi_pt_cdb(ptvp, fm_cdb, sizeof(fm_cdb)); set_scsi_pt_cdb(ptvp, fm_cdb, sizeof(fm_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b)); set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (uint8_t *)paramp, transfer_len); set_scsi_pt_data_out(ptvp, (uint8_t *)paramp, transfer_len);
res = do_scsi_pt(ptvp, sg_fd, timeout, verbose); res = do_scsi_pt(ptvp, sg_fd, timeout, verbose);
ret = sg_cmds_process_resp(ptvp, fm_s, res, noisy, verbose, ret = sg_cmds_process_resp(ptvp, fm_s, res, noisy, verbose,
&sense_cat); &sense_cat);
if (-1 == ret) if (-1 == ret) {
if (get_scsi_pt_transport_err(ptvp))
ret = SG_LIB_TRANSPORT_ERROR;
else
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
else if (-2 == ret) { } else if (-2 == ret) {
switch (sense_cat) { switch (sense_cat) {
case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_RECOVERED:
case SG_LIB_CAT_NO_SENSE: case SG_LIB_CAT_NO_SENSE:
ret = 0; ret = 0;
break; break;
default: default:
ret = sense_cat; ret = sense_cat;
break; break;
} }
} else { } else {
skipping to change at line 366 skipping to change at line 369
ptvp = construct_scsi_pt_obj(); ptvp = construct_scsi_pt_obj();
if (NULL == ptvp) { if (NULL == ptvp) {
pr2serr("%s: out of memory\n", __func__); pr2serr("%s: out of memory\n", __func__);
return sg_convert_errno(ENOMEM); return sg_convert_errno(ENOMEM);
} }
set_scsi_pt_cdb(ptvp, fwp_cdb, sizeof(fwp_cdb)); set_scsi_pt_cdb(ptvp, fwp_cdb, sizeof(fwp_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b)); set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, timeout, verbose); res = do_scsi_pt(ptvp, sg_fd, timeout, verbose);
ret = sg_cmds_process_resp(ptvp, fwp_s, res, noisy, verbose, ret = sg_cmds_process_resp(ptvp, fwp_s, res, noisy, verbose,
&sense_cat); &sense_cat);
if (-1 == ret) if (-1 == ret) {
if (get_scsi_pt_transport_err(ptvp))
ret = SG_LIB_TRANSPORT_ERROR;
else
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
else if (-2 == ret) { } else if (-2 == ret) {
switch (sense_cat) { switch (sense_cat) {
case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_RECOVERED:
case SG_LIB_CAT_NO_SENSE: case SG_LIB_CAT_NO_SENSE:
ret = 0; ret = 0;
break; break;
default: default:
ret = sense_cat; ret = sense_cat;
break; break;
} }
} else { } else {
 End of changes. 5 change blocks. 
5 lines changed or deleted 11 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)