[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(¶ms.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, ¶ms); 782 error = netfs_issue_streams(wreq, ¶ms); 783 if (!error) 784 bvecq_pos_step(¶ms.dispatch_cursor); > 785 end_loop: 786 } while ((folio = writeback_iter(mapping, wbc, folio, &error))); 787 788 netfs_end_issue_write(wreq, ¶ms); 789 790 bvecq_pos_unset(&wreq->load_cursor); 791 bvecq_pos_unset(¶ms.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