Project

General

Profile

Actions

Bug #583

open

dsl_dataset_clone_swap's recursive locking prevention is a hack

Added by Albert Lee over 12 years ago. Updated over 12 years ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
kernel
Start date:
2010-12-29
Due date:
% Done:

0%

Estimated time:
Difficulty:
Tags:
Gerrit CR:
External Bug:

Description

dsl_dataset_clone_swap tries to prevent recursive locking attempts but use the assumption (fortunately correct) that the current thread is the only owner for writes. The lock order is also sketchy.
Gordon Ross says:

Using RW_WRITE_HELD here could easily mask other bugs.
Also, trying for the two locks first in one order, and then in the reverse order is sloppy.
Would be better to always take these two locks in order of memory address.
(That's a trick used elsewhere in fs code, i.e. in NFS.)

No data to display

Actions

Also available in: Atom PDF