diff options
author | Alexander Motin <mav@FreeBSD.org> | 2014-10-29 03:14:29 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2014-10-29 03:14:29 +0000 |
commit | 4fc18ff9bb50ce6675619acb03b94c809b91a2c8 (patch) | |
tree | 4c814533c44059208eecf5e6d6f8ea5b2645d9ac /sys/cam/ctl/ctl_error.c | |
parent | d14c434667f2927d0c0477523d71e06a0713944d (diff) | |
download | src-4fc18ff9bb50ce6675619acb03b94c809b91a2c8.tar.gz src-4fc18ff9bb50ce6675619acb03b94c809b91a2c8.zip |
Implement better handling for ENOSPC error for both CTL and CAM.
This makes VMWare VAAI Thin Provisioning Stun primitive activate, pausing
the virtual machine, when backing storage (ZFS pool) is getting overflowed.
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Notes
Notes:
svn path=/head/; revision=273809
Diffstat (limited to 'sys/cam/ctl/ctl_error.c')
-rw-r--r-- | sys/cam/ctl/ctl_error.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_error.c b/sys/cam/ctl/ctl_error.c index d2edb2a95712..b6a8b89d1332 100644 --- a/sys/cam/ctl/ctl_error.c +++ b/sys/cam/ctl/ctl_error.c @@ -806,6 +806,18 @@ ctl_set_task_aborted(struct ctl_scsiio *ctsio) } void +ctl_set_space_alloc_fail(struct ctl_scsiio *ctsio) +{ + /* "Space allocation failed write protect" */ + ctl_set_sense(ctsio, + /*current_error*/ 1, + /*sense_key*/ SSD_KEY_DATA_PROTECT, + /*asc*/ 0x27, + /*ascq*/ 0x07, + SSD_ELEM_NONE); +} + +void ctl_set_success(struct ctl_scsiio *ctsio) { struct scsi_sense_data *sense; |