Brian Behlendorf d958324f97 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
2015-01-08 16:09:41 -08:00
..
2015-01-06 16:53:24 -08:00
2014-08-01 14:28:05 -07:00
2014-08-01 14:28:05 -07:00
2014-11-17 11:13:45 -08:00
2015-01-06 16:53:24 -08:00
2015-01-06 16:53:24 -08:00
2014-07-29 10:55:29 -07:00
2014-11-17 11:35:38 -08:00
2014-08-01 14:28:05 -07:00
2014-08-20 10:45:16 -07:00
2014-10-17 14:58:57 -07:00
2014-10-17 14:58:57 -07:00
2015-01-07 15:50:49 -08:00
2014-11-17 11:13:45 -08:00
2015-01-06 16:53:24 -08:00
2015-01-06 16:53:24 -08:00
2014-07-28 14:29:58 -07:00
2014-10-17 14:59:05 -07:00
2014-07-30 09:20:35 -07:00
2014-11-17 11:13:45 -08:00
2014-07-28 14:29:58 -07:00
2014-07-29 10:55:29 -07:00
2014-08-20 10:45:16 -07:00
2014-09-05 15:11:43 -07:00
2014-11-17 11:13:45 -08:00
2014-10-22 11:06:53 -07:00
2015-01-06 16:53:24 -08:00
2014-08-01 14:28:05 -07:00
2014-08-01 14:28:05 -07:00
2014-10-20 16:10:25 -07:00
2014-09-05 15:11:43 -07:00