]> granicus.if.org Git - zfs/commit
Use MUTEX_FSTRANS mutex type
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 26 Feb 2015 23:29:33 +0000 (15:29 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 3 Mar 2015 18:46:40 +0000 (10:46 -0800)
commit4ec15b8dcf8038aeb15c7877c50d0fa500b468c6
treed18f08bf6802a3148c4d74bd1e6e9d950c675523
parentd14cfd83dae0b1a261667acd416dba17a98d15fa
Use MUTEX_FSTRANS mutex type

There are regions in the ZFS code where it is desirable to be able
to be set PF_FSTRANS while a specific mutex is held.  The ZFS code
could be updated to set/clear this flag in all the correct places,
but this is undesirable for a few reasons.

1) It would require changes to a significant amount of the ZFS
   code.  This would complicate applying patches from upstream.

2) It would be easy to accidentally miss a critical region in
   the initial patch or to have an future change introduce a
   new one.

Both of these concerns can be addressed by using a new mutex type
which is responsible for managing PF_FSTRANS, support for which was
added to the SPL in commit zfsonlinux/spl@9099312 - Merge branch
'kmem-rework'.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tim Chase <tim@chase2k.com>
Closes #3050
Closes #3055
Closes #3062
Closes #3132
Closes #3142
Closes #2983
include/sys/zfs_context.h
module/zfs/arc.c
module/zfs/dbuf.c