freebsd-skq/sys
Andriy Gapon 90354c3200 MFV r323107: 8414 Implemented zpool scrub pause/resume
illumos/illumos-gate@1702cce751
1702cce751

FreeBSD note:  rather than merging the zpool.8 update I copied the zpool
scrub section from the illumos zpool.1m to FreeBSD zpool.8 almost
verbatim.  Now that the illumos page uses the mdoc format, it was an
easier option.  Perhaps the change is not in perfect compliance with the
FreeBSD style, but I think that it is acceptible.

https://www.illumos.org/issues/8414
  This issue tracks the port of scrub pause from ZoL: https://github.com/zfsonlinux/zfs/pull/6167
  Currently, there is no way to pause a scrub. Pausing may be useful when
  the pool is busy with other I/O to preserve bandwidth.

  Description

  This patch adds the ability to pause and resume scrubbing.  This is achieved
  by maintaining a persistent on-disk scrub state.  While the state is 'paused'
  we do not scrub any more blocks.  We do however perform regular scan
  housekeeping such as freeing async destroyed and deadlist blocks while paused.

  Motivation and Context

  Scrub pausing can be an I/O intensive operation and people have been asking
  for the ability to pause a scrub for a while. This allows one to preserve scrub
  progress while freeing up bandwidth for other I/O.

Reviewed by: George Melikov <mail@gmelikov.ru>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Brad Lewis <brad.lewis@delphix.com>
Reviewed by: Serapheim Dimitropoulos <serapheim@delphix.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Alek Pinchuk <apinchuk@datto.com>

MFC after:	2 weeks
2017-09-09 11:00:07 +00:00
..
amd64 Add smn(4) driver for AMD System Management Network 2017-09-05 15:13:41 +00:00
arm Add Armada 80x0/70x0 compatible to 38x RTC driver 2017-09-05 05:45:57 +00:00
arm64 Enable compilation of Marvell XHCI driver in arm64 GENERIC 2017-09-09 10:58:45 +00:00
boot Be consistent and do return (1); 2017-09-07 15:46:44 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam cam(4): Fix some warnings 2017-09-07 07:24:22 +00:00
cddl MFV r323107: 8414 Implemented zpool scrub pause/resume 2017-09-09 11:00:07 +00:00
compat Resolve IPv6 scope ID issues when using ip6_find_dev() in the LinuxKPI. 2017-09-09 07:21:27 +00:00
conf Add support for xhci in Armada 3700 and 7k/8k 2017-09-09 10:54:13 +00:00
contrib Merge pipes and socket pairs. 2017-09-05 07:46:45 +00:00
crypto aesni: quiet -Wcast-qual 2017-08-16 22:54:35 +00:00
ddb Rename mkdumpheader() and group EKCD functions in kern_shutdown.c. 2017-08-18 04:04:09 +00:00
dev Add support for xhci in Armada 3700 and 7k/8k 2017-09-09 10:54:13 +00:00
fs Style. 2017-08-28 21:04:56 +00:00
gdb
geom Fix information leak in geli(8) integrity mode 2017-09-09 01:41:01 +00:00
gnu Update DTS files from Linux 4.12 2017-07-09 13:53:32 +00:00
i386 Revert r323087 2017-09-01 17:03:48 +00:00
isa Use better hard-coded defaults for the cursor shape, and remove nearby 2017-08-19 19:33:16 +00:00
kern namecache: fold the unlock label into the only consumer 2017-09-08 06:57:11 +00:00
kgssapi
libkern x86/crc32_sse42.c: quiet unused function warning 2017-08-11 17:05:31 +00:00
mips Enable dtrace support for mips64 and the ERL kernel config 2017-09-06 03:19:52 +00:00
modules Enable dtrace support for mips64 and the ERL kernel config 2017-09-06 03:19:52 +00:00
net Make LACP based lagg work with interfaces (like 100Gbps and 25Gbps) that 2017-09-06 14:36:35 +00:00
net80211 net80211: fix a typo (premable -> preamble). 2017-08-27 22:13:03 +00:00
netgraph Check return value from soaccept(). 2017-06-14 16:13:20 +00:00
netinet Add support for generic backpressure indicator for ratelimited 2017-09-06 13:56:18 +00:00
netinet6 After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
netipsec Fix possible double releasing for SA reference. 2017-09-01 11:51:07 +00:00
netpfil pf_get_sport(): Prevent possible endless loop when searching for an unused nat port 2017-08-08 21:09:26 +00:00
netsmb
nfs Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Remove unsafe access to the LinuxKPI file structure from ibcore. 2017-09-09 06:34:20 +00:00
opencrypto Use const with some read-only buffers in opencrypto APIs. 2017-05-09 18:28:42 +00:00
powerpc Fix riscv and powerpc compilation after r323329. 2017-09-09 05:56:04 +00:00
riscv Fix riscv and powerpc compilation after r323329. 2017-09-09 05:56:04 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Sprinkle __read_frequently on few obvious places. 2017-09-06 20:33:33 +00:00
sparc64 Revert r323087 2017-09-01 17:03:48 +00:00
sys Properly implement poll_wait() in the LinuxKPI. This prevents direct 2017-09-09 06:29:29 +00:00
teken Fix syscons escape sequence for setting the local cursor type. This sequence 2017-08-18 15:40:40 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs The new fsck recovery information to enable it to find backup 2017-09-04 20:19:36 +00:00
vm Speed up vm_page_array initialization. 2017-09-07 21:43:39 +00:00
x86 Enhance qpi.c to make it usable on all Core-microarchitecture Xeons. 2017-09-08 19:51:03 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00