zfs/include/sys
Tim Chase ae26dd0039 Don't allow shrinking a PF_FSTRANS context
Avoid deadlocks when entering the shrinker from a PF_FSTRANS context.

This patch also reverts commit d0d5dd7 which added MUTEX_FSTRANS.  Its
use has been deprecated within ZFS as it was an ineffective mechanism
to eliminate deadlocks.  Among other things, it introduced the need for
strict ordering of mutex locking and unlocking in order that the
PF_FSTRANS flag wouldn't set incorrectly.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #446
2015-04-03 11:32:31 -07:00
..
fm Kernel header installation should respect --prefix 2014-10-28 09:31:48 -07:00
fs Kernel header installation should respect --prefix 2014-10-28 09:31:48 -07:00
sysevent Kernel header installation should respect --prefix 2014-10-28 09:31:48 -07:00
Makefile.am Refactor existing code 2015-01-16 13:55:08 -08:00
acl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
acl_impl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
atomic.h Remove atomic64_xchg() wrappers 2014-10-17 15:11:50 -07:00
attr.h Refresh links to web site 2013-03-04 19:09:34 -08:00
bitmap.h Refresh links to web site 2013-03-04 19:09:34 -08:00
bootconf.h Refresh links to web site 2013-03-04 19:09:34 -08:00
bootprops.h Refresh links to web site 2013-03-04 19:09:34 -08:00
buf.h Refresh links to web site 2013-03-04 19:09:34 -08:00
byteorder.h Refresh links to web site 2013-03-04 19:09:34 -08:00
callb.h Refresh links to web site 2013-03-04 19:09:34 -08:00
callo.h Emulate illumos interface cv_timedwait_hires() 2013-11-04 09:49:24 -08:00
cmn_err.h Refresh links to web site 2013-03-04 19:09:34 -08:00
compress.h Refresh links to web site 2013-03-04 19:09:34 -08:00
condvar.h Emulate illumos interface cv_timedwait_hires() 2013-11-04 09:49:24 -08:00
conf.h Refresh links to web site 2013-03-04 19:09:34 -08:00
console.h Refresh links to web site 2013-03-04 19:09:34 -08:00
cpupart.h Refresh links to web site 2013-03-04 19:09:34 -08:00
cpuvar.h Refresh links to web site 2013-03-04 19:09:34 -08:00
crc32.h Refresh links to web site 2013-03-04 19:09:34 -08:00
cred.h Remove credential configure checks. 2014-10-17 15:11:51 -07:00
ctype.h Refresh links to web site 2013-03-04 19:09:34 -08:00
ddi.h Refresh links to web site 2013-03-04 19:09:34 -08:00
debug.h Retire legacy debugging infrastructure 2014-11-19 10:35:07 -08:00
dirent.h Refresh links to web site 2013-03-04 19:09:34 -08:00
disp.h Add kpreempt() compatibility macro 2013-10-09 13:52:55 -07:00
dkio.h Refresh links to web site 2013-03-04 19:09:34 -08:00
dklabel.h Refresh links to web site 2013-03-04 19:09:34 -08:00
dnlc.h Remove shrink_{i,d}node_cache() wrappers 2014-10-17 15:11:51 -07:00
dumphdr.h Refresh links to web site 2013-03-04 19:09:34 -08:00
efi_partition.h Refresh links to web site 2013-03-04 19:09:34 -08:00
errno.h Refresh links to web site 2013-03-04 19:09:34 -08:00
extdirent.h Refresh links to web site 2013-03-04 19:09:34 -08:00
fcntl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
file.h Refresh links to web site 2013-03-04 19:09:34 -08:00
idmap.h Refresh links to web site 2013-03-04 19:09:34 -08:00
int_limits.h Refresh links to web site 2013-03-04 19:09:34 -08:00
int_types.h Refresh links to web site 2013-03-04 19:09:34 -08:00
inttypes.h Refresh links to web site 2013-03-04 19:09:34 -08:00
isa_defs.h Add support for aarch64 (ARMv8) 2014-04-25 15:25:32 -07:00
kidmap.h Refresh links to web site 2013-03-04 19:09:34 -08:00
kmem.h Add hooks for disabling direct reclaim 2015-01-16 13:55:09 -08:00
kmem_cache.h Use __get_free_pages() for emergency objects 2015-01-16 13:58:11 -08:00
kobj.h Refresh links to web site 2013-03-04 19:09:34 -08:00
kstat.h 3537 add kstat_waitq_enter and friends 2013-10-25 13:41:52 -07:00
list.h Refresh links to web site 2013-03-04 19:09:34 -08:00
mkdev.h Refresh links to web site 2013-03-04 19:09:34 -08:00
mntent.h Refresh links to web site 2013-03-04 19:09:34 -08:00
modctl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
mode.h Refresh links to web site 2013-03-04 19:09:34 -08:00
mount.h Refresh links to web site 2013-03-04 19:09:34 -08:00
mutex.h Don't allow shrinking a PF_FSTRANS context 2015-04-03 11:32:31 -07:00
note.h Refresh links to web site 2013-03-04 19:09:34 -08:00
open.h Refresh links to web site 2013-03-04 19:09:34 -08:00
param.h Refresh links to web site 2013-03-04 19:09:34 -08:00
pathname.h Refresh links to web site 2013-03-04 19:09:34 -08:00
policy.h Refresh links to web site 2013-03-04 19:09:34 -08:00
pool.h Refresh links to web site 2013-03-04 19:09:34 -08:00
priv_impl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
proc.h Refresh links to web site 2013-03-04 19:09:34 -08:00
processor.h Refresh links to web site 2013-03-04 19:09:34 -08:00
pset.h Refresh links to web site 2013-03-04 19:09:34 -08:00
random.h Refresh links to web site 2013-03-04 19:09:34 -08:00
refstr.h Refresh links to web site 2013-03-04 19:09:34 -08:00
resource.h Refresh links to web site 2013-03-04 19:09:34 -08:00
rwlock.h Refresh links to web site 2013-03-04 19:09:34 -08:00
sdt.h Define SET_ERROR() 2013-10-09 14:20:46 -07:00
sid.h Refresh links to web site 2013-03-04 19:09:34 -08:00
signal.h Refresh links to web site 2013-03-04 19:09:34 -08:00
stat.h Refresh links to web site 2013-03-04 19:09:34 -08:00
stropts.h Refresh links to web site 2013-03-04 19:09:34 -08:00
sunddi.h Update code to use misc_register()/misc_deregister() 2014-10-17 15:07:28 -07:00
sunldi.h Refresh links to web site 2013-03-04 19:09:34 -08:00
sysdc.h Refresh links to web site 2013-03-04 19:09:34 -08:00
sysevent.h Refresh links to web site 2013-03-04 19:09:34 -08:00
sysmacros.h Map highbit64() to fls64() 2014-10-17 15:11:50 -07:00
systeminfo.h Simplify hostid logic 2014-04-14 09:04:41 -07:00
systm.h Refresh links to web site 2013-03-04 19:09:34 -08:00
t_lock.h Refresh links to web site 2013-03-04 19:09:34 -08:00
taskq.h Refresh links to web site 2013-03-04 19:09:34 -08:00
thread.h De-inline spl_kthread_create(). 2014-04-09 19:17:12 -07:00
time.h Use current_kernel_time() in the time compatibility wrappers 2015-01-16 13:54:35 -08:00
timer.h Add ddi_time_after and friends 2014-04-14 09:32:01 -07:00
tsd.h Refresh links to web site 2013-03-04 19:09:34 -08:00
types.h Refactor existing code 2015-01-16 13:55:08 -08:00
types32.h Refresh links to web site 2013-03-04 19:09:34 -08:00
u8_textprep.h Refresh links to web site 2013-03-04 19:09:34 -08:00
uio.h Refresh links to web site 2013-03-04 19:09:34 -08:00
unistd.h Refresh links to web site 2013-03-04 19:09:34 -08:00
va_list.h Refresh links to web site 2013-03-04 19:09:34 -08:00
varargs.h Refresh links to web site 2013-03-04 19:09:34 -08:00
vfs.h Refresh links to web site 2013-03-04 19:09:34 -08:00
vfs_opreg.h Refresh links to web site 2013-03-04 19:09:34 -08:00
vmem.h Add hooks for disabling direct reclaim 2015-01-16 13:55:09 -08:00
vmsystm.h Refactor existing code 2015-01-16 13:55:08 -08:00
vnode.h Cleanup vn_rename() and vn_remove() 2014-08-13 16:25:44 -07:00
zmod.h Refresh links to web site 2013-03-04 19:09:34 -08:00
zone.h Add crgetzoneid() stub 2015-04-02 09:49:55 -07:00