diff options
author | Brian Behlendorf <[email protected]> | 2015-02-26 15:29:33 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-03-03 10:46:40 -0800 |
commit | 4ec15b8dcf8038aeb15c7877c50d0fa500b468c6 (patch) | |
tree | d18f08bf6802a3148c4d74bd1e6e9d950c675523 /include/sys | |
parent | d14cfd83dae0b1a261667acd416dba17a98d15fa (diff) |
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 <[email protected]>
Signed-off-by: Tim Chase <[email protected]>
Closes #3050
Closes #3055
Closes #3062
Closes #3132
Closes #3142
Closes #2983
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/zfs_context.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index 3dc54f1d7..b8eff58bc 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -273,6 +273,7 @@ typedef struct kmutex { } kmutex_t; #define MUTEX_DEFAULT 0 +#define MUTEX_FSTRANS MUTEX_DEFAULT #define MUTEX_HELD(m) ((m)->m_owner == curthread) #define MUTEX_NOT_HELD(m) (!MUTEX_HELD(m)) |