From: kernel test robot <lkp@intel.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <kolga@netapp.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-nfs@vger.kernel.org,
linux-kernel@vger.kernel.org,
Geert Uytterhoeven <geert+renesas@glider.be>
Subject: Re: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies
Date: Thu, 12 Oct 2023 15:08:59 +0800 [thread overview]
Message-ID: <202310121404.FMC1T6FF-lkp@intel.com> (raw)
In-Reply-To: <707e5e6dd0db9a663cf443564d1f8ee1c10a0086.1697018818.git.geert+renesas@glider.be>
Hi Geert,
kernel test robot noticed the following build errors:
[auto build test ERROR on trondmy-nfs/linux-next]
[also build test ERROR on linus/master v6.6-rc5 next-20231011]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Geert-Uytterhoeven/sunrpc-Use-no_printk-in-dfprintk-dummies/20231011-181013
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
patch link: https://lore.kernel.org/r/707e5e6dd0db9a663cf443564d1f8ee1c10a0086.1697018818.git.geert%2Brenesas%40glider.be
patch subject: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies
config: alpha-defconfig (https://download.01.org/0day-ci/archive/20231012/202310121404.FMC1T6FF-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231012/202310121404.FMC1T6FF-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310121404.FMC1T6FF-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:22,
from arch/alpha/include/asm/bug.h:23,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:79,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from fs/lockd/svclock.c:25:
fs/lockd/svclock.c: In function 'nlmsvc_lookup_block':
>> fs/lockd/svclock.c:164:33: error: implicit declaration of function 'nlmdbg_cookie2a' [-Werror=implicit-function-declaration]
164 | nlmdbg_cookie2a(&block->b_call->a_args.cookie));
| ^~~~~~~~~~~~~~~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/lockd/svclock.c:160:17: note: in expansion of macro 'dprintk'
160 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
| ^~~~~~~
>> fs/lockd/svclock.c:160:25: warning: format '%s' expects argument of type 'char *', but argument 7 has type 'int' [-Wformat=]
160 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
164 | nlmdbg_cookie2a(&block->b_call->a_args.cookie));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
include/linux/printk.h:427:25: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/lockd/svclock.c:160:17: note: in expansion of macro 'dprintk'
160 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
| ^~~~~~~
fs/lockd/svclock.c:160:72: note: format string is defined here
160 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
| ~^
| |
| char *
| %d
fs/lockd/svclock.c: In function 'nlmsvc_find_block':
fs/lockd/svclock.c:203:17: warning: format '%s' expects argument of type 'char *', but argument 2 has type 'int' [-Wformat=]
203 | dprintk("nlmsvc_find_block(%s): block=%p\n", nlmdbg_cookie2a(cookie), block);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
include/linux/printk.h:427:25: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/lockd/svclock.c:203:9: note: in expansion of macro 'dprintk'
203 | dprintk("nlmsvc_find_block(%s): block=%p\n", nlmdbg_cookie2a(cookie), block);
| ^~~~~~~
fs/lockd/svclock.c:203:37: note: format string is defined here
203 | dprintk("nlmsvc_find_block(%s): block=%p\n", nlmdbg_cookie2a(cookie), block);
| ~^
| |
| char *
| %d
fs/lockd/svclock.c: In function 'nlmsvc_lock':
fs/lockd/svclock.c:494:33: error: 'inode' undeclared (first use in this function)
494 | inode->i_sb->s_id, inode->i_ino,
| ^~~~~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/lockd/svclock.c:493:9: note: in expansion of macro 'dprintk'
493 | dprintk("lockd: nlmsvc_lock(%s/%ld, ty=%d, pi=%d, %Ld-%Ld, bl=%d)\n",
| ^~~~~~~
fs/lockd/svclock.c:494:33: note: each undeclared identifier is reported only once for each function it appears in
494 | inode->i_sb->s_id, inode->i_ino,
| ^~~~~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/lockd/svclock.c:493:9: note: in expansion of macro 'dprintk'
493 | dprintk("lockd: nlmsvc_lock(%s/%ld, ty=%d, pi=%d, %Ld-%Ld, bl=%d)\n",
| ^~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/asm-generic/bug.h:22,
from arch/alpha/include/asm/bug.h:23,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/current.h:6,
from ./arch/alpha/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/sunrpc/svcauth_gss.h:12,
from fs/nfsd/nfsfh.c:13:
fs/nfsd/nfsfh.c: In function 'nfsd_setuser_and_check_port':
>> fs/nfsd/nfsfh.c:111:47: error: 'buf' undeclared (first use in this function)
111 | svc_print_addr(rqstp, buf, sizeof(buf)));
| ^~~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfsd/nfsfh.c:110:17: note: in expansion of macro 'dprintk'
110 | dprintk("nfsd: request from insecure port %s!\n",
| ^~~~~~~
fs/nfsd/nfsfh.c:111:47: note: each undeclared identifier is reported only once for each function it appears in
111 | svc_print_addr(rqstp, buf, sizeof(buf)));
| ^~~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfsd/nfsfh.c:110:17: note: in expansion of macro 'dprintk'
110 | dprintk("nfsd: request from insecure port %s!\n",
| ^~~~~~~
vim +/nlmdbg_cookie2a +164 fs/lockd/svclock.c
5a0e3ad6af8660 Tejun Heo 2010-03-24 @25 #include <linux/slab.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 26 #include <linux/errno.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 27 #include <linux/kernel.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 28 #include <linux/sched.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 29 #include <linux/sunrpc/clnt.h>
5ccb0066f2d561 Stanislav Kinsbursky 2012-07-25 30 #include <linux/sunrpc/svc_xprt.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 31 #include <linux/lockd/nlm.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 32 #include <linux/lockd/lockd.h>
d751a7cd069555 Jeff Layton 2008-02-07 33 #include <linux/kthread.h>
b840be2f00c0bc J. Bruce Fields 2021-08-20 34 #include <linux/exportfs.h>
^1da177e4c3f41 Linus Torvalds 2005-04-16 35
^1da177e4c3f41 Linus Torvalds 2005-04-16 36 #define NLMDBG_FACILITY NLMDBG_SVCLOCK
^1da177e4c3f41 Linus Torvalds 2005-04-16 37
^1da177e4c3f41 Linus Torvalds 2005-04-16 38 #ifdef CONFIG_LOCKD_V4
^1da177e4c3f41 Linus Torvalds 2005-04-16 39 #define nlm_deadlock nlm4_deadlock
^1da177e4c3f41 Linus Torvalds 2005-04-16 40 #else
^1da177e4c3f41 Linus Torvalds 2005-04-16 41 #define nlm_deadlock nlm_lck_denied
^1da177e4c3f41 Linus Torvalds 2005-04-16 42 #endif
^1da177e4c3f41 Linus Torvalds 2005-04-16 43
6849c0cab69f5d Trond Myklebust 2006-03-20 44 static void nlmsvc_release_block(struct nlm_block *block);
^1da177e4c3f41 Linus Torvalds 2005-04-16 45 static void nlmsvc_insert_block(struct nlm_block *block, unsigned long);
68a2d76cea4234 Olaf Kirch 2006-10-04 46 static void nlmsvc_remove_block(struct nlm_block *block);
963d8fe5333912 Trond Myklebust 2006-01-03 47
5e1abf8cb713a0 Trond Myklebust 2006-03-20 48 static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock);
5e1abf8cb713a0 Trond Myklebust 2006-03-20 49 static void nlmsvc_freegrantargs(struct nlm_rqst *call);
963d8fe5333912 Trond Myklebust 2006-01-03 50 static const struct rpc_call_ops nlmsvc_grant_ops;
^1da177e4c3f41 Linus Torvalds 2005-04-16 51
^1da177e4c3f41 Linus Torvalds 2005-04-16 52 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 53 * The list of blocked locks to retry
^1da177e4c3f41 Linus Torvalds 2005-04-16 54 */
68a2d76cea4234 Olaf Kirch 2006-10-04 55 static LIST_HEAD(nlm_blocked);
f904be9cc77f36 Bryan Schumaker 2010-09-21 56 static DEFINE_SPINLOCK(nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 57
10b89567db51e1 Jeff Layton 2014-11-17 58 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
ffa94db6042e6f Trond Myklebust 2012-03-20 59 static const char *nlmdbg_cookie2a(const struct nlm_cookie *cookie)
ffa94db6042e6f Trond Myklebust 2012-03-20 60 {
ffa94db6042e6f Trond Myklebust 2012-03-20 61 /*
3c5199143bc4b3 Jeff Layton 2015-01-22 62 * We can get away with a static buffer because this is only called
3c5199143bc4b3 Jeff Layton 2015-01-22 63 * from lockd, which is single-threaded.
ffa94db6042e6f Trond Myklebust 2012-03-20 64 */
ffa94db6042e6f Trond Myklebust 2012-03-20 65 static char buf[2*NLM_MAXCOOKIELEN+1];
ffa94db6042e6f Trond Myklebust 2012-03-20 66 unsigned int i, len = sizeof(buf);
ffa94db6042e6f Trond Myklebust 2012-03-20 67 char *p = buf;
ffa94db6042e6f Trond Myklebust 2012-03-20 68
ffa94db6042e6f Trond Myklebust 2012-03-20 69 len--; /* allow for trailing \0 */
ffa94db6042e6f Trond Myklebust 2012-03-20 70 if (len < 3)
ffa94db6042e6f Trond Myklebust 2012-03-20 71 return "???";
ffa94db6042e6f Trond Myklebust 2012-03-20 72 for (i = 0 ; i < cookie->len ; i++) {
ffa94db6042e6f Trond Myklebust 2012-03-20 73 if (len < 2) {
ffa94db6042e6f Trond Myklebust 2012-03-20 74 strcpy(p-3, "...");
ffa94db6042e6f Trond Myklebust 2012-03-20 75 break;
ffa94db6042e6f Trond Myklebust 2012-03-20 76 }
ffa94db6042e6f Trond Myklebust 2012-03-20 77 sprintf(p, "%02x", cookie->data[i]);
ffa94db6042e6f Trond Myklebust 2012-03-20 78 p += 2;
ffa94db6042e6f Trond Myklebust 2012-03-20 79 len -= 2;
ffa94db6042e6f Trond Myklebust 2012-03-20 80 }
ffa94db6042e6f Trond Myklebust 2012-03-20 81 *p = '\0';
ffa94db6042e6f Trond Myklebust 2012-03-20 82
ffa94db6042e6f Trond Myklebust 2012-03-20 83 return buf;
ffa94db6042e6f Trond Myklebust 2012-03-20 84 }
ffa94db6042e6f Trond Myklebust 2012-03-20 85 #endif
ffa94db6042e6f Trond Myklebust 2012-03-20 86
^1da177e4c3f41 Linus Torvalds 2005-04-16 87 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 88 * Insert a blocked lock into the global list
^1da177e4c3f41 Linus Torvalds 2005-04-16 89 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 90 static void
f904be9cc77f36 Bryan Schumaker 2010-09-21 91 nlmsvc_insert_block_locked(struct nlm_block *block, unsigned long when)
^1da177e4c3f41 Linus Torvalds 2005-04-16 92 {
68a2d76cea4234 Olaf Kirch 2006-10-04 93 struct nlm_block *b;
68a2d76cea4234 Olaf Kirch 2006-10-04 94 struct list_head *pos;
^1da177e4c3f41 Linus Torvalds 2005-04-16 95
^1da177e4c3f41 Linus Torvalds 2005-04-16 96 dprintk("lockd: nlmsvc_insert_block(%p, %ld)\n", block, when);
68a2d76cea4234 Olaf Kirch 2006-10-04 97 if (list_empty(&block->b_list)) {
6849c0cab69f5d Trond Myklebust 2006-03-20 98 kref_get(&block->b_count);
68a2d76cea4234 Olaf Kirch 2006-10-04 99 } else {
68a2d76cea4234 Olaf Kirch 2006-10-04 100 list_del_init(&block->b_list);
68a2d76cea4234 Olaf Kirch 2006-10-04 101 }
68a2d76cea4234 Olaf Kirch 2006-10-04 102
68a2d76cea4234 Olaf Kirch 2006-10-04 103 pos = &nlm_blocked;
^1da177e4c3f41 Linus Torvalds 2005-04-16 104 if (when != NLM_NEVER) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 105 if ((when += jiffies) == NLM_NEVER)
^1da177e4c3f41 Linus Torvalds 2005-04-16 106 when ++;
68a2d76cea4234 Olaf Kirch 2006-10-04 107 list_for_each(pos, &nlm_blocked) {
68a2d76cea4234 Olaf Kirch 2006-10-04 108 b = list_entry(pos, struct nlm_block, b_list);
68a2d76cea4234 Olaf Kirch 2006-10-04 109 if (time_after(b->b_when,when) || b->b_when == NLM_NEVER)
68a2d76cea4234 Olaf Kirch 2006-10-04 110 break;
68a2d76cea4234 Olaf Kirch 2006-10-04 111 }
68a2d76cea4234 Olaf Kirch 2006-10-04 112 /* On normal exit from the loop, pos == &nlm_blocked,
68a2d76cea4234 Olaf Kirch 2006-10-04 113 * so we will be adding to the end of the list - good
68a2d76cea4234 Olaf Kirch 2006-10-04 114 */
68a2d76cea4234 Olaf Kirch 2006-10-04 115 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 116
68a2d76cea4234 Olaf Kirch 2006-10-04 117 list_add_tail(&block->b_list, pos);
^1da177e4c3f41 Linus Torvalds 2005-04-16 118 block->b_when = when;
^1da177e4c3f41 Linus Torvalds 2005-04-16 119 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 120
f904be9cc77f36 Bryan Schumaker 2010-09-21 121 static void nlmsvc_insert_block(struct nlm_block *block, unsigned long when)
f904be9cc77f36 Bryan Schumaker 2010-09-21 122 {
f904be9cc77f36 Bryan Schumaker 2010-09-21 123 spin_lock(&nlm_blocked_lock);
f904be9cc77f36 Bryan Schumaker 2010-09-21 124 nlmsvc_insert_block_locked(block, when);
f904be9cc77f36 Bryan Schumaker 2010-09-21 125 spin_unlock(&nlm_blocked_lock);
f904be9cc77f36 Bryan Schumaker 2010-09-21 126 }
f904be9cc77f36 Bryan Schumaker 2010-09-21 127
^1da177e4c3f41 Linus Torvalds 2005-04-16 128 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 129 * Remove a block from the global list
^1da177e4c3f41 Linus Torvalds 2005-04-16 130 */
68a2d76cea4234 Olaf Kirch 2006-10-04 131 static inline void
^1da177e4c3f41 Linus Torvalds 2005-04-16 132 nlmsvc_remove_block(struct nlm_block *block)
^1da177e4c3f41 Linus Torvalds 2005-04-16 133 {
f904be9cc77f36 Bryan Schumaker 2010-09-21 134 spin_lock(&nlm_blocked_lock);
be2be5f7f44364 Alexander Aring 2023-07-20 135 if (!list_empty(&block->b_list)) {
68a2d76cea4234 Olaf Kirch 2006-10-04 136 list_del_init(&block->b_list);
f904be9cc77f36 Bryan Schumaker 2010-09-21 137 spin_unlock(&nlm_blocked_lock);
6849c0cab69f5d Trond Myklebust 2006-03-20 138 nlmsvc_release_block(block);
be2be5f7f44364 Alexander Aring 2023-07-20 139 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 140 }
be2be5f7f44364 Alexander Aring 2023-07-20 141 spin_unlock(&nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 142 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 143
^1da177e4c3f41 Linus Torvalds 2005-04-16 144 /*
d9f6eb75d49007 Trond Myklebust 2006-03-20 145 * Find a block for a given lock
^1da177e4c3f41 Linus Torvalds 2005-04-16 146 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 147 static struct nlm_block *
d9f6eb75d49007 Trond Myklebust 2006-03-20 148 nlmsvc_lookup_block(struct nlm_file *file, struct nlm_lock *lock)
^1da177e4c3f41 Linus Torvalds 2005-04-16 149 {
68a2d76cea4234 Olaf Kirch 2006-10-04 150 struct nlm_block *block;
^1da177e4c3f41 Linus Torvalds 2005-04-16 151 struct file_lock *fl;
^1da177e4c3f41 Linus Torvalds 2005-04-16 152
^1da177e4c3f41 Linus Torvalds 2005-04-16 153 dprintk("lockd: nlmsvc_lookup_block f=%p pd=%d %Ld-%Ld ty=%d\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 file, lock->fl.fl_pid,
^1da177e4c3f41 Linus Torvalds 2005-04-16 155 (long long)lock->fl.fl_start,
^1da177e4c3f41 Linus Torvalds 2005-04-16 156 (long long)lock->fl.fl_end, lock->fl.fl_type);
be2be5f7f44364 Alexander Aring 2023-07-20 157 spin_lock(&nlm_blocked_lock);
68a2d76cea4234 Olaf Kirch 2006-10-04 158 list_for_each_entry(block, &nlm_blocked, b_list) {
92737230dd3f14 Trond Myklebust 2006-03-20 159 fl = &block->b_call->a_args.lock.fl;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @160 dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 block->b_file, fl->fl_pid,
^1da177e4c3f41 Linus Torvalds 2005-04-16 162 (long long)fl->fl_start,
^1da177e4c3f41 Linus Torvalds 2005-04-16 163 (long long)fl->fl_end, fl->fl_type,
92737230dd3f14 Trond Myklebust 2006-03-20 @164 nlmdbg_cookie2a(&block->b_call->a_args.cookie));
^1da177e4c3f41 Linus Torvalds 2005-04-16 165 if (block->b_file == file && nlm_compare_locks(fl, &lock->fl)) {
6849c0cab69f5d Trond Myklebust 2006-03-20 166 kref_get(&block->b_count);
be2be5f7f44364 Alexander Aring 2023-07-20 167 spin_unlock(&nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 168 return block;
^1da177e4c3f41 Linus Torvalds 2005-04-16 169 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 170 }
be2be5f7f44364 Alexander Aring 2023-07-20 171 spin_unlock(&nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 172
^1da177e4c3f41 Linus Torvalds 2005-04-16 173 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 175
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-10-12 7:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-11 10:07 [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies Geert Uytterhoeven
2023-10-11 10:40 ` Geert Uytterhoeven
2023-10-12 7:08 ` kernel test robot [this message]
2023-10-12 10:11 ` Geert Uytterhoeven
2023-10-12 10:06 ` kernel test robot
2023-10-12 10:59 ` kernel test robot
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=202310121404.FMC1T6FF-lkp@intel.com \
--to=lkp@intel.com \
--cc=Dai.Ngo@oracle.com \
--cc=anna@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=geert+renesas@glider.be \
--cc=jlayton@kernel.org \
--cc=kolga@netapp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tom@talpey.com \
--cc=trond.myklebust@hammerspace.com \
/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.