mirror_zfs/module/spl
Olaf Faaland bf8abea4da Linux 4.11 compat: remove stub for __put_task_struct
Before kernel 2.6.29 credentials were embedded in task_structs, and zfs had
cases where one thread would need to refer to the credential of another thread,
forcing it to take a hold on the foreign thread's task_struct to ensure it was
not freed.

Since 2.6.29, the credential has been moved out of the task_struct into a
cred_t.

In addition, the mainline kernel originally did not export __put_task_struct()
but the RHEL5 kernel did, according to zfsonlinux/spl@e811949a57.  As of
2.6.39 the mainline kernel exports it.

There is no longer zfs code that takes or releases holds on a task_struct, and
so there is no longer any reference to __put_task_struct().

This affects the linux 4.11 kernel because the prototype for
__put_task_struct() is in a new include file (linux/sched/task.h) and so the
config check failed to detect the exported symbol.

Removing the unnecessary stub and corresponding config check.  This works on
kernels since the oldest one currently supported, 2.6.32 as shipped with
Centos/RHEL.

Reviewed-by: Chunwei Chen <david.chen@osnexus.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #608
2017-03-20 17:43:45 -07:00
..
Makefile.in Support parallel build trees (VPATH builds) 2015-07-17 12:53:11 -07:00
spl-atomic.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-condvar.c Restore CALLOUT_FLAG_ABSOLUTE in cv_timedwait_hires 2016-05-24 12:58:49 -07:00
spl-cred.c Linux 4.9 compat: group_info changes 2016-10-20 09:33:28 -07:00
spl-err.c Linux 4.11 compat: set_task_state() removed 2017-02-23 09:52:08 -08:00
spl-generic.c Linux 4.11 compat: remove stub for __put_task_struct 2017-03-20 17:43:45 -07:00
spl-kmem-cache.c Add support for recent kmem_cache_create_usercopy 2017-01-17 12:05:14 -08:00
spl-kmem.c Increase spl_kmem_alloc_warn limit 2016-09-16 17:10:36 -07:00
spl-kobj.c kobj_read_file: Return -1 on vn_rdwr() error 2016-01-23 10:10:44 -08:00
spl-kstat.c Refactor existing code 2015-01-16 13:55:08 -08:00
spl-mutex.c Remove adaptive mutex implementation 2014-10-17 15:07:28 -07:00
spl-proc.c Update struct member intializers to C89 2017-01-13 14:12:42 -08:00
spl-rwlock.c Reimplement rt_mutex_owner to fix build with DEBUG & PREEMPT_RT_FULL 2017-01-19 14:41:38 -08:00
spl-taskq.c Add system_delay_taskq for long delay 2016-12-08 14:00:20 -07:00
spl-thread.c Retire legacy debugging infrastructure 2014-11-19 10:35:07 -08:00
spl-tsd.c Use tsd to store tq for taskq_member 2016-01-20 13:07:45 -08:00
spl-vmem.c Fix vmem_size() 2016-11-02 10:34:19 -07:00
spl-vnode.c Linux 4.11 compat: vfs_getattr() takes 4 args 2017-03-20 17:43:39 -07:00
spl-xdr.c Retire legacy debugging infrastructure 2014-11-19 10:35:07 -08:00
spl-zlib.c Refactor existing code 2015-01-16 13:55:08 -08:00