[dhowells-fs:netfs-next 29/29] fs/netfs/write_issue.c:785:1: error: label at end of compound statement

kernel test robot <[email protected]> Sat, 25 Jul 2026 00:42:47 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-next
head:   ddfc7002233eb9ca7143c363820b7480d5f705de
commit: ddfc7002233eb9ca7143c363820b7480d5f705de [29/29] netfs: Combine prepare and issue ops and grab the buffers on request
config: parisc-randconfig-r073-20260724 (https://download.01.org/0day-ci/archive/20260725/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 10.5.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260725/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   fs/netfs/write_issue.c: In function 'netfs_writepages':
>> fs/netfs/write_issue.c:785:1: error: label at end of compound statement
     785 | end_loop:
         | ^~~~~~~~


vim +785 fs/netfs/write_issue.c

   717	
   718	/*
   719	 * Write some of the pending data back to the server
   720	 */
   721	int netfs_writepages(struct address_space *mapping,
   722			     struct writeback_control *wbc)
   723	{
   724		struct netfs_inode *ictx = netfs_inode(mapping->host);
   725		struct netfs_io_request *wreq = NULL;
   726		struct netfs_wb_params params = {};
   727		struct folio *folio;
   728		int error = 0;
   729	
   730		if (!netfs_wb_begin(ictx, wbc->sync_mode == WB_SYNC_NONE))
   731			return 0;
   732	
   733		/* Need the first folio to be able to set up the op. */
   734		folio = writeback_iter(mapping, wbc, NULL, &error);
   735		if (!folio)
   736			goto out;
   737	
   738		wreq = netfs_create_write_req(mapping, NULL, folio_pos(folio), NETFS_WRITEBACK);
   739		if (IS_ERR(wreq)) {
   740			error = PTR_ERR(wreq);
   741			goto couldnt_start;
   742		}
   743	
   744		if (bvecq_buffer_init(&wreq->load_cursor, GFP_NOFS) < 0)
   745			goto nomem;
   746		bvecq_pos_set(&params.dispatch_cursor, &wreq->load_cursor);
   747		bvecq_pos_set(&wreq->collect_cursor, &wreq->load_cursor);
   748	
   749		__set_bit(NETFS_RREQ_OFFLOAD_COLLECTION, &wreq->flags);
   750		trace_netfs_write(wreq, netfs_write_trace_writeback);
   751		netfs_stat(&netfs_n_wh_writepages);
   752	
   753		if (wreq->io_streams[1].avail)
   754			params.notes |= NOTE_CACHE_AVAIL;
   755	
   756		do {
   757			_debug("wbiter %lx", folio->index);
   758	
   759			if (!wreq->spare) {
   760				wreq->spare = bvecq_alloc_one(BVECQ_STD_SLOTS, GFP_NOFS);
   761				if (!wreq->spare) {
   762					folio_redirty_for_writepage(wbc, folio);
   763					folio_unlock(folio);
   764					error = -ENOMEM;
   765					goto end_loop;
   766				}
   767			}
   768	
   769			if (netfs_folio_group(folio) != NETFS_FOLIO_COPY_TO_CACHE &&
   770			    unlikely(!test_bit(NETFS_RREQ_UPLOAD_TO_SERVER, &wreq->flags))) {
   771				set_bit(NETFS_RREQ_UPLOAD_TO_SERVER, &wreq->flags);
   772				wreq->netfs_ops->begin_writeback(wreq);
   773				if (wreq->io_streams[0].avail) {
   774					params.notes |= NOTE_UPLOAD_AVAIL;
   775					/* Order setting the active flag after other fields. */
   776					smp_store_release(&wreq->io_streams[0].active, true);
   777				}
   778			}
   779	
   780			params.notes &= NOTES__KEEP_MASK;
   781			netfs_queue_wb_folio(wreq, wbc, folio, &params);
   782			error = netfs_issue_streams(wreq, &params);
   783			if (!error)
   784				bvecq_pos_step(&params.dispatch_cursor);
 > 785	end_loop:
   786		} while ((folio = writeback_iter(mapping, wbc, folio, &error)));
   787	
   788		netfs_end_issue_write(wreq, &params);
   789	
   790		bvecq_pos_unset(&wreq->load_cursor);
   791		bvecq_pos_unset(&params.dispatch_cursor);
   792		for (int i = 0; i < NR_IO_STREAMS; i++)
   793			bvecq_pos_unset(&wreq->io_streams[i].dispatch_cursor);
   794		netfs_wake_collector(wreq);
   795	
   796		netfs_put_request(wreq, netfs_rreq_trace_put_return);
   797		_leave(" = %d", error);
   798		return error;
   799	
   800	nomem:
   801		error = -ENOMEM;
   802		netfs_put_failed_request(wreq);
   803	couldnt_start:
   804		if (error == -ENOMEM) {
   805			folio_redirty_for_writepage(wbc, folio);
   806			folio_unlock(folio);
   807			folio = writeback_iter(mapping, wbc, folio, &error);
   808			WARN_ON_ONCE(folio != NULL);
   809		} else {
   810			netfs_kill_dirty_pages(mapping, wbc, folio);
   811		}
   812	out:
   813		netfs_wb_end(ictx);
   814		_leave(" = %d", error);
   815		return error;
   816	}
   817	EXPORT_SYMBOL(netfs_writepages);
   818	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki