diff options
author | mav <mav@FreeBSD.org> | 2014-10-20 07:33:41 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-10-20 07:33:41 +0000 |
commit | 29253fce187f2bc4585df13155a351d6f3b17cb3 (patch) | |
tree | dc8aa3e98e17a6080805d79f6658364a2a281740 /sys/cam/ctl/ctl_backend_block.c | |
parent | f7c3270824c4c3876dd5562034af36fe5e6c8326 (diff) | |
download | FreeBSD-src-29253fce187f2bc4585df13155a351d6f3b17cb3.zip FreeBSD-src-29253fce187f2bc4585df13155a351d6f3b17cb3.tar.gz |
MFC r272734:
Add support for WRITE ATOMIC (16) command and report SBC-4 compliance.
Atomic writes are only supported for ZVOLs in "dev" mode. In other cases
atomicity can not be guarantied and so the command is blocked.
Diffstat (limited to 'sys/cam/ctl/ctl_backend_block.c')
-rw-r--r-- | sys/cam/ctl/ctl_backend_block.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_backend_block.c b/sys/cam/ctl/ctl_backend_block.c index 086458e..e6d0c0d 100644 --- a/sys/cam/ctl/ctl_backend_block.c +++ b/sys/cam/ctl/ctl_backend_block.c @@ -2006,6 +2006,9 @@ ctl_be_block_create(struct ctl_be_block_softc *softc, struct ctl_lun_req *req) be_lun->ctl_be_lun.flags = CTL_LUN_FLAG_PRIMARY; if (unmap) be_lun->ctl_be_lun.flags |= CTL_LUN_FLAG_UNMAP; + if (be_lun->dispatch == ctl_be_block_dispatch_zvol) + be_lun->ctl_be_lun.atomicblock = CTLBLK_MAX_IO_SIZE / + be_lun->blocksize; be_lun->ctl_be_lun.be_lun = be_lun; be_lun->ctl_be_lun.blocksize = be_lun->blocksize; be_lun->ctl_be_lun.pblockexp = be_lun->pblockexp; |