freebsd-nq/module/spl
Olaf Faaland 94b1ab2ae0 Linux 4.11 compat: vfs_getattr() takes 4 args
There are changes to vfs_getattr() in torvalds/linux@a528d35.  The new
interface is:

int vfs_getattr(const struct path *path, struct kstat *stat,
               u32 request_mask, unsigned int query_flags)

The request_mask argument indicates which field(s) the caller intends to
use.  Fields the caller does not specify via request_mask may be set in
the returned struct anyway, but their values may be approximate.

The query_flags argument indicates whether the filesystem must update
the attributes from the backing store.

This patch uses the query_flags which result in vfs_getattr behaving the same
as it did with the 2-argument version which the kernel provided before
Linux 4.11.

Members blksize and blocks are now always the same size regardless of
arch.  They match the size of the equivalent members in vnode_t.

The configure checks are modified to ensure that the appropriate
vfs_getattr() interface is used.

A more complete fix, removing the ZFS dependency on vfs_getattr()
entirely, is deferred as it is a much larger project.

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:39 -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 Fix out-of-bound in per_cpu in spl_random_init 2016-10-07 20:59:46 -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