All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Alex Markuze <amarkuze@redhat.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	ceph-devel@vger.kernel.org
Subject: [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'
Date: Fri, 15 Aug 2025 04:12:44 +0800	[thread overview]
Message-ID: <202508150401.905dissE-lkp@intel.com> (raw)

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

                 reply	other threads:[~2025-08-14 20:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202508150401.905dissE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=amarkuze@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.