--- embedaddon/istgt/src/istgt_lu_tape.c 2012/10/09 09:13:23 1.1.1.2 +++ embedaddon/istgt/src/istgt_lu_tape.c 2013/07/21 23:49:22 1.1.1.3 @@ -2368,7 +2368,7 @@ istgt_lu_tape_scsi_mode_sense_page(ISTGT_LU_TAPE *spec /* Current values */ } else if (pc == 0x01) { /* Changeable values */ - if (page != 0x08) { + if (page != 0x0f) { /* not supported */ return -1; } @@ -2417,6 +2417,17 @@ istgt_lu_tape_scsi_mode_sense_page(ISTGT_LU_TAPE *spec plen = 0x0e + 2; MODE_SENSE_PAGE_INIT(cp, plen, page, subpage); + if (pc == 0x01) { + // Changeable values + BDADD8(&cp[2], 1, 7); /* DCE data compression enable */ + BDADD8(&cp[2], 1, 6); /* DCC data compression capable */ + BDADD8(&cp[3], 1, 7); /* DDE data decompression enable */ + BDADD8W(&cp[3], 0, 6, 2); /* RED report exception on decompression */ + DSET32(&cp[4], 0xffffffffU); /* COMPRESSION ALGORITHM */ + DSET32(&cp[8], 0xffffffffU); /* DECOMPRESSION ALGORITHM */ + len += plen; + break; + } if (spec->compression) { BDADD8(&cp[2], 1, 7); /* DCE=1 compression enable */ } else {