* [ceph-client:tls-tracing-only 10/10] fs/ceph/blog_debugfs.c:26: warning: Function parameter or struct member 's' not described in 'blog_entries_show'
@ 2025-08-14 20:12 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-08-14 20:12 UTC (permalink / raw)
To: Alex Markuze; +Cc: llvm, oe-kbuild-all, ceph-devel
tree: https://github.com/ceph/ceph-client.git tls-tracing-only
head: 6b738aa5f6bb2343f8277d318ff1e9ea9289212c
commit: 6b738aa5f6bb2343f8277d318ff1e9ea9289212c [10/10] proper isolation
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250815/202508150401.905dissE-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250815/202508150401.905dissE-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/202508150401.905dissE-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> fs/ceph/blog_debugfs.c:26: warning: Function parameter or struct member 's' not described in 'blog_entries_show'
>> fs/ceph/blog_debugfs.c:26: warning: Function parameter or struct member 'p' not described in 'blog_entries_show'
>> fs/ceph/blog_debugfs.c:100: warning: Function parameter or struct member 's' not described in 'blog_stats_show'
>> fs/ceph/blog_debugfs.c:100: warning: Function parameter or struct member 'p' not described in 'blog_stats_show'
>> fs/ceph/blog_debugfs.c:138: warning: Function parameter or struct member 's' not described in 'blog_sources_show'
>> fs/ceph/blog_debugfs.c:138: warning: Function parameter or struct member 'p' not described in 'blog_sources_show'
>> fs/ceph/blog_debugfs.c:189: warning: Function parameter or struct member 's' not described in 'blog_clients_show'
>> fs/ceph/blog_debugfs.c:189: warning: Function parameter or struct member 'p' not described in 'blog_clients_show'
>> fs/ceph/blog_debugfs.c:232: warning: Function parameter or struct member 'file' not described in 'blog_clear_write'
>> fs/ceph/blog_debugfs.c:232: warning: Function parameter or struct member 'buf' not described in 'blog_clear_write'
>> fs/ceph/blog_debugfs.c:232: warning: Function parameter or struct member 'count' not described in 'blog_clear_write'
>> fs/ceph/blog_debugfs.c:232: warning: Function parameter or struct member 'ppos' not described in 'blog_clear_write'
vim +26 fs/ceph/blog_debugfs.c
18
19 /**
20 * blog_entries_show - Show all BLOG entries for Ceph
21 *
22 * Iterates through all contexts and their pagefrags, deserializing entries
23 * using BLOG's deserialization with Ceph's client callback
24 */
25 static int blog_entries_show(struct seq_file *s, void *p)
> 26 {
27 struct blog_tls_ctx *ctx;
28 struct blog_log_iter iter;
29 struct blog_log_entry *entry;
30 char output_buf[1024];
31 int ret;
32 int entry_count = 0;
33 int ctx_count = 0;
34
35 seq_printf(s, "Ceph BLOG Entries\n");
36 seq_printf(s, "=================\n\n");
37
38 /* Access the global logger - need to be careful here */
39 spin_lock(&g_blog_logger.lock);
40
41 list_for_each_entry(ctx, &g_blog_logger.contexts, list) {
42 ctx_count++;
43 seq_printf(s, "Context %d (ID: %llu, PID: %d, Comm: %s)\n",
44 ctx_count, ctx->id, ctx->pid, ctx->comm);
45 seq_printf(s, " Base jiffies: %lu, Refcount: %d\n",
46 ctx->base_jiffies, atomic_read(&ctx->refcount));
47
48 /* Initialize iterator for this context's pagefrag */
49 blog_log_iter_init(&iter, &ctx->pf);
50
51 /* Iterate through all entries in this context */
52 while ((entry = blog_log_iter_next(&iter)) != NULL) {
53 entry_count++;
54
55 /* Clear output buffer */
56 memset(output_buf, 0, sizeof(output_buf));
57
58 /* Use blog_des_entry with Ceph's client callback */
59 ret = blog_des_entry(entry, output_buf, sizeof(output_buf),
60 ceph_blog_client_des_callback);
61
62 if (ret < 0) {
63 seq_printf(s, " Entry %d: [Error deserializing: %d]\n",
64 entry_count, ret);
65 } else {
66 /* Show entry details */
67 seq_printf(s, " Entry %d (ts_delta=%u, src=%u, client=%u, len=%u):\n",
68 entry_count, entry->ts_delta, entry->source_id,
69 entry->client_id, entry->len);
70 seq_printf(s, " %s\n", output_buf);
71 }
72 }
73 seq_printf(s, "\n");
74 }
75
76 spin_unlock(&g_blog_logger.lock);
77
78 seq_printf(s, "Total contexts: %d\n", ctx_count);
79 seq_printf(s, "Total entries: %d\n", entry_count);
80
81 return 0;
82 }
83
84 static int blog_entries_open(struct inode *inode, struct file *file)
85 {
86 return single_open(file, blog_entries_show, inode->i_private);
87 }
88
89 static const struct file_operations blog_entries_fops = {
90 .open = blog_entries_open,
91 .read = seq_read,
92 .llseek = seq_lseek,
93 .release = single_release,
94 };
95
96 /**
97 * blog_stats_show - Show BLOG statistics
98 */
99 static int blog_stats_show(struct seq_file *s, void *p)
> 100 {
101 seq_printf(s, "Ceph BLOG Statistics\n");
102 seq_printf(s, "====================\n\n");
103
104 seq_printf(s, "Global Logger State:\n");
105 seq_printf(s, " Total contexts allocated: %lu\n",
106 g_blog_logger.total_contexts_allocated);
107 seq_printf(s, " Next context ID: %llu\n", g_blog_logger.next_ctx_id);
108 seq_printf(s, " Next source ID: %u\n",
109 atomic_read(&g_blog_logger.next_source_id));
110
111 seq_printf(s, "\nAllocation Batch:\n");
112 seq_printf(s, " Full magazines: %u\n", g_blog_logger.alloc_batch.nr_full);
113 seq_printf(s, " Empty magazines: %u\n", g_blog_logger.alloc_batch.nr_empty);
114
115 seq_printf(s, "\nLog Batch:\n");
116 seq_printf(s, " Full magazines: %u\n", g_blog_logger.log_batch.nr_full);
117 seq_printf(s, " Empty magazines: %u\n", g_blog_logger.log_batch.nr_empty);
118
119 return 0;
120 }
121
122 static int blog_stats_open(struct inode *inode, struct file *file)
123 {
124 return single_open(file, blog_stats_show, inode->i_private);
125 }
126
127 static const struct file_operations blog_stats_fops = {
128 .open = blog_stats_open,
129 .read = seq_read,
130 .llseek = seq_lseek,
131 .release = single_release,
132 };
133
134 /**
135 * blog_sources_show - Show all registered source locations
136 */
137 static int blog_sources_show(struct seq_file *s, void *p)
> 138 {
139 struct blog_source_info *source;
140 u32 id;
141 int count = 0;
142
143 seq_printf(s, "Ceph BLOG Source Locations\n");
144 seq_printf(s, "===========================\n\n");
145
146 for (id = 1; id < BLOG_MAX_SOURCE_IDS; id++) {
147 source = blog_get_source_info(id);
148 if (!source || !source->file)
149 continue;
150
151 count++;
152 seq_printf(s, "ID %u: %s:%s:%u\n", id,
153 source->file, source->func, source->line);
154 seq_printf(s, " Format: %s\n", source->fmt ? source->fmt : "(null)");
155 seq_printf(s, " Warnings: %d\n", source->warn_count);
156
157 #if BLOG_TRACK_USAGE
158 seq_printf(s, " NAPI usage: %d calls, %d bytes\n",
159 atomic_read(&source->napi_usage),
160 atomic_read(&source->napi_bytes));
161 seq_printf(s, " Task usage: %d calls, %d bytes\n",
162 atomic_read(&source->task_usage),
163 atomic_read(&source->task_bytes));
164 #endif
165 seq_printf(s, "\n");
166 }
167
168 seq_printf(s, "Total registered sources: %d\n", count);
169
170 return 0;
171 }
172
173 static int blog_sources_open(struct inode *inode, struct file *file)
174 {
175 return single_open(file, blog_sources_show, inode->i_private);
176 }
177
178 static const struct file_operations blog_sources_fops = {
179 .open = blog_sources_open,
180 .read = seq_read,
181 .llseek = seq_lseek,
182 .release = single_release,
183 };
184
185 /**
186 * blog_clients_show - Show all registered Ceph clients
187 */
188 static int blog_clients_show(struct seq_file *s, void *p)
> 189 {
190 u32 id;
191 int count = 0;
192 const struct ceph_blog_client_info *info;
193
194 seq_printf(s, "Ceph BLOG Registered Clients\n");
195 seq_printf(s, "=============================\n\n");
196
197 for (id = 1; id < CEPH_BLOG_MAX_CLIENTS; id++) {
198 info = ceph_blog_get_client_info(id);
199 if (!info || info->global_id == 0)
200 continue;
201
202 count++;
203
204 seq_printf(s, "Client ID %u:\n", id);
205 seq_printf(s, " FSID: %pU\n", info->fsid);
206 seq_printf(s, " Global ID: %llu\n", info->global_id);
207 seq_printf(s, "\n");
208 }
209
210 seq_printf(s, "Total registered clients: %d\n", count);
211
212 return 0;
213 }
214
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-14 20:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14 20:12 [ceph-client:tls-tracing-only 10/10] fs/ceph/blog_debugfs.c:26: warning: Function parameter or struct member 's' not described in 'blog_entries_show' kernel test robot
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.