diff --git a/tapeserver/castor/tape/tapeserver/system/FileWrappers.cpp b/tapeserver/castor/tape/tapeserver/system/FileWrappers.cpp index e226fbfc7218e610092d9d23ac10335c468962e0..95805001ce521752c9d1cd06c4d0be10fdb5fdf5 100644 --- a/tapeserver/castor/tape/tapeserver/system/FileWrappers.cpp +++ b/tapeserver/castor/tape/tapeserver/system/FileWrappers.cpp @@ -145,6 +145,8 @@ int System::stDeviceFile::ioctl(unsigned long int request, sg_io_hdr_t * sgio_h) switch (sgio_h->cmdp[0]) { // Operation Code for CDB case SCSI::Commands::READ_POSITION: return ioctlReadPosition(sgio_h); + case SCSI::Commands::REQUEST_SENSE: + return ioctlRequestSense(sgio_h); case SCSI::Commands::LOG_SELECT: return ioctlLogSelect(sgio_h); case SCSI::Commands::LOCATE_10: diff --git a/tapeserver/castor/tape/tapeserver/system/FileWrappers.hpp b/tapeserver/castor/tape/tapeserver/system/FileWrappers.hpp index e8648c67f17eaeca8d3c0b1d867a8aac9e5d7ad7..bb41fea03bc6b53274c1cf8b143452ccb329278e 100644 --- a/tapeserver/castor/tape/tapeserver/system/FileWrappers.hpp +++ b/tapeserver/castor/tape/tapeserver/system/FileWrappers.hpp @@ -83,7 +83,7 @@ namespace System { unsigned char m_LBPInfo_R; unsigned char m_LBPInfo_W; /** - * This function handles READ_POSITION CDB and prepares the replay. + * This function handles READ_POSITION CDB and prepares the reply. * * @param sgio_h The pointer to the sg_io_hdr_t structure with * ioctl call data @@ -91,7 +91,17 @@ namespace System { * -1 with appropriate errno if an error occurred. */ virtual int ioctlReadPosition(sg_io_hdr_t * sgio_h); - + + /** + * This function handles REQUEST_SENSE CDB and prepares the reply. + * + * @param sgio_h The pointer to the sg_io_hdr_t structure with + * ioctl call data + * @retval 0 success + * @retval -1 if an error occurred (errno is set) + */ + virtual int ioctlRequestSense(sg_io_hdr_t * sgio_h); + /** * This function handles LOG_SELECT CDB and only checks the CDB for the * correct values and sets internal trigger for 0 compression as true.