Files
mirror_zfs/module/zfs
Brian Behlendorf bff2361aeb Linux 5.2 compat: rw_tryupgrade()
Commit torvalds/linux@46ad0840b has removed the architecture specific
rwsem source and headers leaving only the generic version.  As part
of this change the RWSEM_ACTIVE_READ_BIAS and RWSEM_ACTIVE_WRITE_BIAS
macros were moved to the private kernel/locking/rwsem.h header.
This results in a build failure because these macros were required
to implement the rw_tryupgrade() compatibility function.

In practice, this isn't a major problem because there are only a
few consumers of rw_tryupgrade() and because consumers of rw_tryupgrade
should be written to retry using rw_enter(RW_WRITER).

After auditing all of the callers only dmu_zfetch() was determined
not to perform a retry.  It has been updated in this commit to
resolve this issue.

That said, the rw_tryupgrade() functionality should be considered
for possible removal in a future release due to the difficultly
in supporting the interface.

Reviewed-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8730
2019-05-23 13:46:33 -07:00
..
2019-05-04 16:40:48 -07:00
2015-01-16 14:41:26 -08:00
2017-08-14 10:36:48 -07:00
2017-06-26 14:36:49 -07:00
2019-05-07 15:18:44 -07:00
2018-05-29 16:00:33 -07:00
2019-01-17 15:25:00 -08:00
2018-05-01 11:24:20 -07:00
2019-05-07 15:18:44 -07:00
2019-05-07 15:18:44 -07:00
2019-05-07 15:18:44 -07:00
2018-08-15 09:53:44 -07:00
2019-05-23 13:46:33 -07:00
2019-04-25 10:16:24 -07:00
2018-05-29 16:00:33 -07:00
2019-04-12 11:30:59 -07:00
2018-05-29 16:00:33 -07:00
2019-03-15 14:14:31 -07:00
2018-05-29 16:00:33 -07:00
2017-10-11 16:54:48 -04:00
2019-05-02 16:46:04 -07:00
2015-01-16 14:41:26 -08:00
2019-03-29 09:13:20 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-10-01 10:42:05 -07:00
2018-03-15 10:53:58 -07:00
2010-08-31 13:41:58 -07:00
2018-05-29 16:00:33 -07:00
2019-05-09 10:08:05 -07:00
2019-05-09 10:08:05 -07:00
2018-05-29 16:00:33 -07:00
2019-03-29 09:13:20 -07:00
2019-03-29 09:13:20 -07:00
2019-04-14 11:03:06 -07:00
2019-03-29 09:13:20 -07:00
2016-11-29 14:34:33 -08:00
2019-03-29 09:13:20 -07:00
2019-03-29 09:13:20 -07:00
2019-03-29 09:13:20 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2019-03-29 09:13:20 -07:00
2018-05-29 16:00:33 -07:00
2018-05-29 16:00:33 -07:00
2018-02-13 14:54:54 -08:00
2019-04-16 10:01:45 -07:00
2019-03-15 14:14:31 -07:00
2019-04-04 18:57:06 -07:00
2018-02-09 10:08:05 -08:00
2018-05-29 16:00:33 -07:00
2019-05-08 10:04:04 -07:00