]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFV 314276
authorJosh Paetzel <jpaetzel@FreeBSD.org>
Sat, 25 Feb 2017 20:01:17 +0000 (20:01 +0000)
committerJosh Paetzel <jpaetzel@FreeBSD.org>
Sat, 25 Feb 2017 20:01:17 +0000 (20:01 +0000)
commitb98d22744fd54ad6d8f371705fb178db48206e6e
treeeb931e76910fdf68eaa46d584b94084304f1d02b
parent85b92f82b6d7168178e002d661f659d3c39a0309
parentdbac7ab9c07cef4b685252105e1f2355f379d18f
MFV 314276

7570 tunable to allow zvol SCSI unmap to return on commit of txn to ZIL

illumos/illumos-gate@1c9272b861cd640a8342f4407da026ed98615517
https://github.com/illumos/illumos-gate/commit/1c9272b861cd640a8342f4407da026ed98615517

https://www.illumos.org/issues/7570

  Based on the discovery that every unmap waits for the commit of the txn to the ZIL,
  introducing a very high latency to unmap commands, this behavior was made into a
  tunable zvol_unmap_sync_enabled and set to false. The net impact of this change is
  that by default SCSI unmap commands will result in space being freed within the zvol
  (today they are ignored and returned with good status). However, unlike the code
  today, instead of 18+ms per unmap, they take about 30us.

  With the testing done on NTFS against a Win2k12 target, the new behavior should work
  seamlessly. Files on the zvol that have already been set with the zfree application
  will continue to write 0's when deleted, and any new files created since zvol
  creation will send unmap commands when deleted. This behavior exists today, but with
  this change the unmap commands will be processed and result in reclaim of space.

Author: Stephen Blinick <stephen.blinick@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Robert Mustacchi <rm@joyent.com>
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c