HomeFreeBSD

Illumos 4873 - zvol unmap calls can take a very long time for larger datasets

Description

Illumos 4873 - zvol unmap calls can take a very long time for larger datasets

4873 zvol unmap calls can take a very long time for larger datasets
Author: Alex Reece <alex@delphix.com>
Reviewed by: George Wilson <george@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <paul.dagnelie@delphix.com>
Reviewed by: Basil Crow <basil.crow@delphix.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Robert Mustacchi <rm@joyent.com>

References:

https://www.illumos.org/issues/4873
https://github.com/illumos/illumos-gate/commit/0f6d88a

Porting Notes:

dbuf_free_range():

  • reduce stack usage using kmem_alloc()
  • the sorted AVL tree will handle the spill block case correctly without all the special handling in the for() loop

Ported-by: Chris Dunlop <chris@onthe.net.au>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>

Details

Provenance
Alex Reece <alex@delphix.com>Authored on Apr 3 2015, 3:14 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Apr 28 2015, 11:24 PM
Parents
rG58c4aa00c65e: Illumos 4975 - missing mutex_destroy() calls in zfs
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG8951cb8dfb8d: Illumos 4873 - zvol unmap calls can take a very long time for larger datasets (authored by Alex Reece <alex@delphix.com>).Apr 28 2015, 11:24 PM