From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 07/12] fs: Add locking for a dynamic DAX state
Date: Wed, 12 Feb 2020 01:51:22 +0800 [thread overview]
Message-ID: <202002120102.jvBPXTST%lkp@intel.com> (raw)
In-Reply-To: <20200208193445.27421-8-ira.weiny@intel.com>
[-- Attachment #1: Type: text/plain, Size: 26267 bytes --]
Hi,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.6-rc1 next-20200211]
[cannot apply to xfs-linux/for-next linux/master djwong-xfs/djwong-devel]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/ira-weiny-intel-com/Enable-per-file-directory-DAX-operations-V3/20200211-193842
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 0a679e13ea30f85a1aef0669ee0c5a9fd7860b34
config: sh-randconfig-a001-20200211 (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/debugfs.h:15:0,
from drivers//pinctrl/core.c:23:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'stack_trace_save'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
stack_trace_save
>> include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'enable_dax_state_static_branch'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
enable_dax_state_static_branch
cc1: some warnings being treated as errors
--
In file included from include/linux/seq_file.h:11:0,
from include/linux/pinctrl/pinctrl.h:16,
from include/linux/gpio/driver.h:11,
from drivers//gpio/gpio-dwapb.c:10:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'local_bh_enable'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
local_bh_enable
>> include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'enable_dax_state_static_branch'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
enable_dax_state_static_branch
cc1: some warnings being treated as errors
--
In file included from include/linux/tty.h:5:0,
from drivers//tty/tty_ioctl.c:16:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'stack_trace_save'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
stack_trace_save
include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
cc1: some warnings being treated as errors
--
In file included from include/linux/seq_file.h:11:0,
from include/linux/sh_clk.h:6,
from drivers//sh/clk/cpg.c:15:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'local_bh_enable'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
local_bh_enable
>> include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'enable_dax_state_static_branch'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
enable_dax_state_static_branch
drivers//sh/clk/cpg.c: In function 'r8':
drivers//sh/clk/cpg.c:41:17: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
return ioread8(addr);
^~~~
In file included from arch/sh/include/asm/io.h:21:0,
from include/linux/io.h:13,
from drivers//sh/clk/cpg.c:14:
include/asm-generic/iomap.h:29:21: note: expected 'void *' but argument is of type 'const void *'
extern unsigned int ioread8(void __iomem *);
^~~~~~~
drivers//sh/clk/cpg.c: In function 'r16':
drivers//sh/clk/cpg.c:46:18: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
return ioread16(addr);
^~~~
In file included from arch/sh/include/asm/io.h:21:0,
from include/linux/io.h:13,
from drivers//sh/clk/cpg.c:14:
include/asm-generic/iomap.h:30:21: note: expected 'void *' but argument is of type 'const void *'
extern unsigned int ioread16(void __iomem *);
^~~~~~~~
drivers//sh/clk/cpg.c: In function 'r32':
drivers//sh/clk/cpg.c:51:18: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
return ioread32(addr);
^~~~
In file included from arch/sh/include/asm/io.h:21:0,
from include/linux/io.h:13,
from drivers//sh/clk/cpg.c:14:
include/asm-generic/iomap.h:32:21: note: expected 'void *' but argument is of type 'const void *'
extern unsigned int ioread32(void __iomem *);
^~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/security.h:28:0,
from include/linux/fs_context.h:14,
from fs/fs_parser.c:9:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'local_bh_enable'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
local_bh_enable
include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
proc_do_static_key
cc1: some warnings being treated as errors
--
In file included from include/linux/buffer_head.h:12:0,
from fs//gfs2/glock.c:12:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'stack_trace_save'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
stack_trace_save
>> include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'enable_dax_state_static_branch'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
enable_dax_state_static_branch
In file included from fs//gfs2/trace_gfs2.h:632:0,
from fs//gfs2/glock.c:49:
include/trace/define_trace.h: At top level:
include/trace/define_trace.h:95:42: fatal error: ./trace_gfs2.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
cc1: some warnings being treated as errors
compilation terminated.
--
In file included from fs//cifs/cifssmb.c:30:0:
include/linux/fs.h:1916:1: warning: data definition has no type or storage class
DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1916:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
include/linux/fs.h:1916:1: warning: parameter names (without types) in function declaration
include/linux/fs.h: In function 'inode_dax_state_down_read':
>> include/linux/fs.h:1920:7: error: implicit declaration of function 'static_branch_unlikely' [-Werror=implicit-function-declaration]
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1920:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1920:31: note: each undeclared identifier is reported only once for each function it appears in
include/linux/fs.h: In function 'inode_dax_state_up_read':
include/linux/fs.h:1926:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_down_write':
include/linux/fs.h:1932:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'inode_dax_state_up_write':
include/linux/fs.h:1938:31: error: 'lock_dax_state_static_key' undeclared (first use in this function)
if (!static_branch_unlikely(&lock_dax_state_static_key))
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h: In function 'enable_dax_state_static_branch':
>> include/linux/fs.h:1944:2: error: implicit declaration of function 'static_branch_enable'; did you mean 'stack_trace_save'? [-Werror=implicit-function-declaration]
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~
stack_trace_save
>> include/linux/fs.h:1944:24: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'enable_dax_state_static_branch'?
static_branch_enable(&lock_dax_state_static_key);
^~~~~~~~~~~~~~~~~~~~~~~~~
enable_dax_state_static_branch
In file included from fs//cifs/cifsglob.h:32:0,
from fs//cifs/cifssmb.c:40:
fs//cifs/smb2pdu.h: At top level:
fs//cifs/smb2pdu.h:28:10: fatal error: cifsacl.h: No such file or directory
#include <cifsacl.h>
^~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
..
vim +1916 include/linux/fs.h
1902
1903 #if defined(CONFIG_FS_DAX)
1904 /*
1905 * Filesystems wishing to support dynamic DAX states must do the following.
1906 *
1907 * 1) the direct_IO address_space_operation must be supported in all
1908 * potential a_ops vectors for any state suported by the inode.
1909 * 2) FS's should enable the static branch lock_dax_state_static_key when a DAX
1910 * capable device is detected.
1911 * 3) DAX state changes shall not be allowed while the file is mmap'ed
1912 * 4) For non-mmaped operations the VFS layer must take the read lock for any
1913 * use of IS_DAX()
1914 * 5) Filesystems take the write lock when changing DAX states.
1915 */
> 1916 DECLARE_STATIC_KEY_FALSE(lock_dax_state_static_key);
1917 extern struct percpu_rw_semaphore sb_dax_rwsem;
1918 static inline void inode_dax_state_down_read(struct inode *inode)
1919 {
> 1920 if (!static_branch_unlikely(&lock_dax_state_static_key))
1921 return;
1922 percpu_down_read(&sb_dax_rwsem);
1923 }
1924 static inline void inode_dax_state_up_read(struct inode *inode)
1925 {
1926 if (!static_branch_unlikely(&lock_dax_state_static_key))
1927 return;
1928 percpu_up_read(&sb_dax_rwsem);
1929 }
1930 static inline void inode_dax_state_down_write(struct inode *inode)
1931 {
> 1932 if (!static_branch_unlikely(&lock_dax_state_static_key))
1933 return;
1934 percpu_down_write(&sb_dax_rwsem);
1935 }
1936 static inline void inode_dax_state_up_write(struct inode *inode)
1937 {
> 1938 if (!static_branch_unlikely(&lock_dax_state_static_key))
1939 return;
1940 percpu_up_write(&sb_dax_rwsem);
1941 }
1942 static inline void enable_dax_state_static_branch(void)
1943 {
> 1944 static_branch_enable(&lock_dax_state_static_key);
1945 }
1946 #else /* !CONFIG_FS_DAX */
1947 #define inode_dax_state_down_read(inode) do { (void)(inode); } while (0)
1948 #define inode_dax_state_up_read(inode) do { (void)(inode); } while (0)
1949 #define inode_dax_state_down_write(inode) do { (void)(inode); } while (0)
1950 #define inode_dax_state_up_write(inode) do { (void)(inode); } while (0)
1951 #define enable_dax_state_static_branch()
1952 #endif /* CONFIG_FS_DAX */
1953
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25823 bytes --]
next prev parent reply other threads:[~2020-02-11 17:51 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-08 19:34 [PATCH v3 00/12] Enable per-file/directory DAX operations V3 ira.weiny
2020-02-08 19:34 ` [PATCH v3 01/12] fs/stat: Define DAX statx attribute ira.weiny
2020-02-08 19:34 ` [PATCH v3 02/12] fs/xfs: Isolate the physical DAX flag from effective ira.weiny
2020-02-08 19:34 ` [PATCH v3 03/12] fs/xfs: Separate functionality of xfs_inode_supports_dax() ira.weiny
2020-02-11 5:47 ` Dave Chinner
2020-02-11 16:13 ` Ira Weiny
2020-02-08 19:34 ` [PATCH v3 04/12] fs/xfs: Clean up DAX support check ira.weiny
2020-02-11 5:57 ` Dave Chinner
2020-02-11 16:28 ` Ira Weiny
2020-02-11 20:38 ` Dave Chinner
2020-02-08 19:34 ` [PATCH v3 05/12] fs: remove unneeded IS_DAX() check ira.weiny
2020-02-11 5:34 ` Dave Chinner
2020-02-11 16:38 ` Ira Weiny
2020-02-11 20:41 ` Dave Chinner
2020-02-12 16:04 ` Ira Weiny
2020-02-08 19:34 ` [PATCH v3 06/12] fs/xfs: Check if the inode supports DAX under lock ira.weiny
2020-02-11 6:16 ` Dave Chinner
2020-02-11 17:55 ` Ira Weiny
2020-02-11 20:42 ` Dave Chinner
2020-02-12 16:10 ` Ira Weiny
2020-02-08 19:34 ` [PATCH v3 07/12] fs: Add locking for a dynamic DAX state ira.weiny
2020-02-11 8:00 ` Dave Chinner
2020-02-11 20:14 ` Ira Weiny
2020-02-11 20:59 ` Dan Williams
2020-02-11 21:49 ` Dave Chinner
2020-02-12 6:31 ` Darrick J. Wong
2020-02-11 17:51 ` kbuild test robot [this message]
2020-02-08 19:34 ` [PATCH v3 08/12] fs/xfs: Clarify lockdep dependency for xfs_isilocked() ira.weiny
2020-02-08 19:34 ` [PATCH v3 09/12] fs/xfs: Add write DAX lock to xfs layer ira.weiny
2020-02-08 19:34 ` [PATCH v3 10/12] fs: Prevent DAX state change if file is mmap'ed ira.weiny
2020-02-08 19:34 ` [PATCH v3 11/12] fs/xfs: Clean up locking in dax invalidate ira.weiny
2020-02-08 19:34 ` [PATCH v3 12/12] fs/xfs: Allow toggle of effective DAX flag ira.weiny
2020-02-10 15:15 ` [PATCH v3 00/12] Enable per-file/directory DAX operations V3 Jeff Moyer
2020-02-11 20:17 ` Ira Weiny
2020-02-12 19:49 ` Jeff Moyer
2020-02-13 19:01 ` Ira Weiny
2020-02-13 19:05 ` Ira Weiny
2020-02-13 19:58 ` Darrick J. Wong
2020-02-13 23:29 ` Ira Weiny
2020-02-14 0:16 ` Dan Williams
2020-02-14 20:06 ` Ira Weiny
2020-02-14 21:23 ` Jeff Moyer
2020-02-14 21:58 ` Ira Weiny
2020-02-14 22:06 ` Jeff Moyer
2020-02-14 22:58 ` Jeff Moyer
2020-02-14 23:03 ` Jeff Moyer
2020-02-18 2:35 ` Ira Weiny
2020-02-18 14:22 ` Jeff Moyer
2020-02-18 23:54 ` Ira Weiny
2020-02-20 16:20 ` Ira Weiny
2020-02-20 16:30 ` Darrick J. Wong
2020-02-20 16:49 ` Ira Weiny
2020-02-20 17:00 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202002120102.jvBPXTST%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.