]> git.proxmox.com Git - mirror_zfs.git/commit
Fix zfs_putpage() lock inversion (again)
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 7 Jan 2015 00:54:57 +0000 (16:54 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 9 Jan 2015 00:09:41 +0000 (16:09 -0800)
commitd958324f97f4668a2a6e4a6ce3e5ca09b71b31d9
treeff652c74e1b174a2c67941fdea9ab1a136c3a619
parent33b6dbbc51c790fc8048e2e18cd9bc10be384233
Fix zfs_putpage() lock inversion (again)

This is a follow up commit to 74328ee which correctly resolved a lock
inversion between zfs_putpage() and zfs_free_range().  Unfortunately,
in the process it accidentally introduced another inversion between
zfs_putpage() and zfs_read().  The page must be unlocked before taking
the range lock.  This patch corrects that issue.

In addition, because the locking rules here are subtle a block comment
has been added clearly explaining why the ordering here is critical.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ned Bass <bass6@llnl.gov>
Issue #2976
module/zfs/zfs_vnops.c