[dgc-xfs:xfs-async-inode-reclaim 29/30] fs/xfs/xfs_inode_item.c:670:1: warning: no previous prototype for 'xfs_iflush_ail_updates'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git xfs-async-inode-reclaim
head:   a6b06a056446a604d909fd24f24c78f08f5be671
commit: 689797bdef2cbd9e93b6d435127da6f513d9d3cb [29/30] xfs: factor xfs_iflush_done
config: m68k-randconfig-r005-20200526 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 689797bdef2cbd9e93b6d435127da6f513d9d3cb
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

>> fs/xfs/xfs_inode_item.c:670:1: warning: no previous prototype for 'xfs_iflush_ail_updates' [-Wmissing-prototypes]
670 | xfs_iflush_ail_updates(
| ^~~~~~~~~~~~~~~~~~~~~~
>> fs/xfs/xfs_inode_item.c:702:1: warning: no previous prototype for 'xfs_iflush_finish' [-Wmissing-prototypes]
702 | xfs_iflush_finish(
| ^~~~~~~~~~~~~~~~~

vim +/xfs_iflush_ail_updates +670 fs/xfs/xfs_inode_item.c

   662	
   663	
   664	/*
   665	 * We only want to pull the item from the AIL if it is actually there
   666	 * and its location in the log has not changed since we started the
   667	 * flush.  Thus, we only bother if the inode's lsn has not changed.
   668	 */
   669	void
 > 670	xfs_iflush_ail_updates(
   671		struct xfs_ail		*ailp,
   672		struct list_head	*list)
   673	{
   674		struct xfs_log_item	*lip;
   675		xfs_lsn_t		tail_lsn = 0;
   676	
   677		/* this is an opencoded batch version of xfs_trans_ail_delete */
   678		spin_lock(&ailp->ail_lock);
   679		list_for_each_entry(lip, list, li_bio_list) {
   680			struct xfs_inode_log_item *iip = INODE_ITEM(lip);
   681			xfs_lsn_t	lsn;
   682	
   683			if (iip->ili_flush_lsn != lip->li_lsn) {
   684				xfs_clear_li_failed(lip);
   685				continue;
   686			}
   687	
   688			lsn = xfs_ail_delete_one(ailp, lip);
   689			if (!tail_lsn && lsn)
   690				tail_lsn = lsn;
   691		}
   692		xfs_ail_update_finish(ailp, tail_lsn);
   693	}
   694	
   695	/*
   696	 * Walk the list of inodes that have completed their IOs. If they are clean
   697	 * remove them from the list and dissociate them from the buffer. Buffers that
   698	 * are still dirty remain linked to the buffer and on the list. Caller must
   699	 * handle them appropriately.
   700	 */
   701	void
 > 702	xfs_iflush_finish(
   703		struct xfs_buf		*bp,
   704		struct list_head	*list)
   705	{
   706		struct xfs_log_item	*lip, *n;
   707	
   708		list_for_each_entry_safe(lip, n, list, li_bio_list) {
   709			struct xfs_inode_log_item *iip = INODE_ITEM(lip);
   710			bool	drop_buffer = false;
   711	
   712			spin_lock(&iip->ili_lock);
   713			iip->ili_last_fields = 0;
   714			iip->ili_flush_lsn = 0;
   715	
   716			/*
   717			 * Remove the reference to the cluster buffer if the inode is
   718			 * clean in memory and drop the buffer reference once we've
   719			 * dropped the locks we hold.
   720			 */
   721			ASSERT(iip->ili_item.li_buf == bp);
   722			if (!iip->ili_fields) {
   723				iip->ili_item.li_buf = NULL;
   724				list_del_init(&lip->li_bio_list);
   725				drop_buffer = true;
   726			}
   727			spin_unlock(&iip->ili_lock);
   728			xfs_ifunlock(iip->ili_inode);
   729			if (drop_buffer)
   730				xfs_buf_rele(bp);
   731		}
   732	}
   733	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux