HomeFreeBSD

zfs_inode_update should not call dmu_object_size_from_db under spinlock

Description

zfs_inode_update should not call dmu_object_size_from_db under spinlock

We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #3858

Details

Provenance
Richard Yao <ryao@gentoo.org>Authored on Sep 30 2015, 5:25 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Sep 30 2015, 5:47 PM
Parents
rGbc8ffb2d0855: Remove obsolete zv_lock
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG919efe93cb12: zfs_inode_update should not call dmu_object_size_from_db under spinlock (authored by Richard Yao <ryao@gentoo.org>).Sep 30 2015, 5:47 PM