Project

General

Profile

Actions

Bug #5981

closed

Bug #5269: zpool import slow

Deadlock in dmu_objset_find_dp

Added by Arne Jansen about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
-
Category:
-
Start date:
2015-06-04
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

When dmu_objset_find_dp gets called with a read lock held, it fans out the work to the task queue. Each task in turn acquires its own read lock before calling the callback. If during this process anyone tries to a acquire a write lock, it will stall all read lock requests.Thus the tasks will never finish, the read lock of the caller will never get freed and the write lock never acquired. deadlock.

Actions #1

Updated by Electric Monk about 7 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 1d3f896f5469c69c1339890ec3d68e9feddb0343

commit  1d3f896f5469c69c1339890ec3d68e9feddb0343
Author: Arne Jansen <jansen@webgods.de>
Date:   2015-06-20T08:04:51.000Z

    5981 Deadlock in dmu_objset_find_dp
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Approved by: Robert Mustacchi <rm@joyent.com>

Actions

Also available in: Atom PDF