Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Illumos 5056 - ZFS deadlock on db_mtx and dn_holds #3239

Closed
wants to merge 10 commits into from

Conversation

chrisrd
Copy link
Contributor

@chrisrd chrisrd commented Mar 31, 2015

Pull in Illumos 5056 with a largely mechanical application of Illumos patches.

Let's get the buildbots chewing on this patch stack...

Whilst the individual patches are likely worth applying in their own right at some point, it will be interesting to see if the stack helps with #3225.

@6758eb7: the freespill stuff in dbuf_free_range() was more than mechanical and I'm not sure I have it right. This was related to @4254acb from @dweeezil and @58806b4 from @nedbass. Would you guys be able to take a look at that in particular?

@chrisrd chrisrd changed the title Illumos 5056 Illumos 5056 - ZFS deadlock on db_mtx and dn_holds Mar 31, 2015
@chrisrd chrisrd force-pushed the illumos-5056 branch 2 times, most recently from 498e86b to 0c07bf7 Compare March 31, 2015 09:39
chrisrd added 10 commits March 31, 2015 20:42
3897 zfs filesystem and snapshot limits
Author: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Christopher Siden <christopher.siden@delphix.com>

References:
  https://www.illumos.org/issues/3897
  illumos/illumos-gate@a2afb61

Porting Notes:

dsl_dataset_snapshot_check(): reduce stack usage using kmem_alloc().

Ported-by: Chris Dunlop <chris@onthe.net.au>
3897 zfs filesystem and snapshot limits (fix leak)
Author: Alex Reece <alex.reece@delphix.com>
Approved by: Christopher Siden <christopher.siden@delphix.com>

References:
  https://www.illumos.org/issues/3897
  illumos/illumos-gate@fb7001f

Ported-by: Chris Dunlop <chris@onthe.net.au>
4975 missing mutex_destroy() calls in zfs
Author: Jorgen Lundman <lundman@lundman.net>
Reviewed by: Matthew Ahrens <matthew.ahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Rich Lowe <richlowe@richlowe.net>
Reviewed by: Seth Nimbosa <darth.Serious@gmail.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Don Brady <dev.fs.zfs@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/4975
  illumos/illumos-gate@d2b3cbb

Ported-by: Chris Dunlop <chris@onthe.net.au>
…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
  illumos/illumos-gate@0f6d88a

Ported-by: Chris Dunlop <chris@onthe.net.au>
5038 Remove "old-style" flexible array usage in ZFS.
Author: Justin T. Gibbs <justing@spectralogic.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Approved by: Richard Lowe <richlowe@richlowe.net>

References:
  https://www.illumos.org/issues/5038
  illumos/illumos-gate@7f18da4

Ported-by: Chris Dunlop <chris@onthe.net.au>
5095 panic when adding a duplicate dbuf to dn_dbufs
Author: Alex Reece <alex@delphix.com>
Reviewed by: Adam Leventhal <adam.leventhal@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Mattew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Josef Sipek <jeffpc@josefsipek.net>
Approved by: Robert Mustacchi <rm@joyent.com>

References:
  https://www.illumos.org/issues/5095
  illumos/illumos-gate@86bb58a

Ported-by: Chris Dunlop <chris@onthe.net.au>
5310 Remove always true tests for non-NULL ds->ds_phys
Author: Justin T. Gibbs <justing@spectralogic.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Will Andrews <willa@spectralogic.com>
Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/5310
  illumos/illumos-gate@d808a4f

Ported-by: Chris Dunlop <chris@onthe.net.au>
5314 Remove "dbuf phys" db->db_data pointer aliases in ZFS
Author: Justin T. Gibbs <justing@spectralogic.com>
Reviewed by: Andriy Gapon <avg@freebsd.org>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Will Andrews <willa@spectralogic.com>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/5314
  illumos/illumos-gate@c137962

Ported-by: Chris Dunlop <chris@onthe.net.au>
5056 ZFS deadlock on db_mtx and dn_holds
Author: Justin Gibbs <justing@spectralogic.com>
Reviewed by: Will Andrews <willa@spectralogic.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/5056
  illumos/illumos-gate@bc9014e

Porting Notes:

The original patch includes an otherwise unmentioned possible usage of
an uninitialised variable in module/zfs/sa.c:sa_handle_get_from_db()

Ported-by: Chris Dunlop <chris@onthe.net.au>
Not for pulling - patch out crgetzoneid(cr) until the appropriate change
can be made in zfsonlinux/spl:include/sys/zone.h (?)
@chrisrd chrisrd closed this Mar 31, 2015
@chrisrd chrisrd deleted the illumos-5056 branch March 31, 2015 11:34
@chrisrd chrisrd restored the illumos-5056 branch March 31, 2015 11:35
@chrisrd
Copy link
Contributor Author

chrisrd commented Mar 31, 2015

Oops, didn't mean to close it... and the "Reopen and comment" button is greyed out? Hmmm, probably have to open another pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant