All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] jfs: turn diLog(), dataLog() and txLog() into void functions
Date: Sun, 07 Feb 2021 16:20:30 +0800	[thread overview]
Message-ID: <202102071620.wkojM1cW-lkp@intel.com> (raw)
In-Reply-To: <1612679820-35163-1-git-send-email-yang.lee@linux.alibaba.com>

[-- Attachment #1: Type: text/plain, Size: 10935 bytes --]

Hi Yang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shaggy/jfs-next]
[also build test ERROR on v5.11-rc6 next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Yang-Li/jfs-turn-diLog-dataLog-and-txLog-into-void-functions/20210207-143938
base:   https://github.com/kleikamp/linux-shaggy jfs-next
config: i386-randconfig-m021-20210207 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/8b7ab4ba41269109e7cb95106023e96d640842e9
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Yang-Li/jfs-turn-diLog-dataLog-and-txLog-into-void-functions/20210207-143938
        git checkout 8b7ab4ba41269109e7cb95106023e96d640842e9
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/jfs/jfs_txnmgr.c:1368:13: error: conflicting types for 'txLog'
    1368 | static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:162:12: note: previous declaration of 'txLog' was here
     162 | static int txLog(struct jfs_log * log, struct tblock * tblk,
         |            ^~~~~
>> fs/jfs/jfs_txnmgr.c:1424:13: error: conflicting types for 'diLog'
    1424 | static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:151:12: note: previous declaration of 'diLog' was here
     151 | static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~
>> fs/jfs/jfs_txnmgr.c:1536:13: error: conflicting types for 'dataLog'
    1536 | static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~~~
   fs/jfs/jfs_txnmgr.c:153:12: note: previous declaration of 'dataLog' was here
     153 | static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~~~
   fs/jfs/jfs_txnmgr.c:151:12: warning: 'diLog' used but never defined
     151 | static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~
   fs/jfs/jfs_txnmgr.c:153:12: warning: 'dataLog' used but never defined
     153 | static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~~~
   fs/jfs/jfs_txnmgr.c:162:12: warning: 'txLog' used but never defined
     162 | static int txLog(struct jfs_log * log, struct tblock * tblk,
         |            ^~~~~
   fs/jfs/jfs_txnmgr.c:1536:13: warning: 'dataLog' defined but not used [-Wunused-function]
    1536 | static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~~~
   fs/jfs/jfs_txnmgr.c:1424:13: warning: 'diLog' defined but not used [-Wunused-function]
    1424 | static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:1368:13: warning: 'txLog' defined but not used [-Wunused-function]
    1368 | static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
         |             ^~~~~


vim +/txLog +1368 fs/jfs/jfs_txnmgr.c

  1356	
  1357	/*
  1358	 * NAME:	txLog()
  1359	 *
  1360	 * FUNCTION:	Writes AFTER log records for all lines modified
  1361	 *		by tid for segments specified by inodes in comdata.
  1362	 *		Code assumes only WRITELOCKS are recorded in lockwords.
  1363	 *
  1364	 * PARAMETERS:
  1365	 *
  1366	 * RETURN :
  1367	 */
> 1368	static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
  1369	{
  1370		struct inode *ip;
  1371		lid_t lid;
  1372		struct tlock *tlck;
  1373		struct lrd *lrd = &cd->lrd;
  1374	
  1375		/*
  1376		 * write log record(s) for each tlock of transaction,
  1377		 */
  1378		for (lid = tblk->next; lid; lid = tlck->next) {
  1379			tlck = lid_to_tlock(lid);
  1380	
  1381			tlck->flag |= tlckLOG;
  1382	
  1383			/* initialize lrd common */
  1384			ip = tlck->ip;
  1385			lrd->aggregate = cpu_to_le32(JFS_SBI(ip->i_sb)->aggregate);
  1386			lrd->log.redopage.fileset = cpu_to_le32(JFS_IP(ip)->fileset);
  1387			lrd->log.redopage.inode = cpu_to_le32(ip->i_ino);
  1388	
  1389			/* write log record of page from the tlock */
  1390			switch (tlck->type & tlckTYPE) {
  1391			case tlckXTREE:
  1392				xtLog(log, tblk, lrd, tlck);
  1393				break;
  1394	
  1395			case tlckDTREE:
  1396				dtLog(log, tblk, lrd, tlck);
  1397				break;
  1398	
  1399			case tlckINODE:
  1400				diLog(log, tblk, lrd, tlck, cd);
  1401				break;
  1402	
  1403			case tlckMAP:
  1404				mapLog(log, tblk, lrd, tlck);
  1405				break;
  1406	
  1407			case tlckDATA:
  1408				dataLog(log, tblk, lrd, tlck);
  1409				break;
  1410	
  1411			default:
  1412				jfs_err("UFO tlock:0x%p", tlck);
  1413			}
  1414		}
  1415	
  1416		return;
  1417	}
  1418	
  1419	/*
  1420	 *	diLog()
  1421	 *
  1422	 * function:	log inode tlock and format maplock to update bmap;
  1423	 */
> 1424	static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
  1425			 struct tlock *tlck, struct commit *cd)
  1426	{
  1427		struct metapage *mp;
  1428		pxd_t *pxd;
  1429		struct pxd_lock *pxdlock;
  1430	
  1431		mp = tlck->mp;
  1432	
  1433		/* initialize as REDOPAGE record format */
  1434		lrd->log.redopage.type = cpu_to_le16(LOG_INODE);
  1435		lrd->log.redopage.l2linesize = cpu_to_le16(L2INODESLOTSIZE);
  1436	
  1437		pxd = &lrd->log.redopage.pxd;
  1438	
  1439		/*
  1440		 *	inode after image
  1441		 */
  1442		if (tlck->type & tlckENTRY) {
  1443			/* log after-image for logredo(): */
  1444			lrd->type = cpu_to_le16(LOG_REDOPAGE);
  1445			PXDaddress(pxd, mp->index);
  1446			PXDlength(pxd,
  1447				  mp->logical_size >> tblk->sb->s_blocksize_bits);
  1448			lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
  1449	
  1450			/* mark page as homeward bound */
  1451			tlck->flag |= tlckWRITEPAGE;
  1452		} else if (tlck->type & tlckFREE) {
  1453			/*
  1454			 *	free inode extent
  1455			 *
  1456			 * (pages of the freed inode extent have been invalidated and
  1457			 * a maplock for free of the extent has been formatted at
  1458			 * txLock() time);
  1459			 *
  1460			 * the tlock had been acquired on the inode allocation map page
  1461			 * (iag) that specifies the freed extent, even though the map
  1462			 * page is not itself logged, to prevent pageout of the map
  1463			 * page before the log;
  1464			 */
  1465	
  1466			/* log LOG_NOREDOINOEXT of the freed inode extent for
  1467			 * logredo() to start NoRedoPage filters, and to update
  1468			 * imap and bmap for free of the extent;
  1469			 */
  1470			lrd->type = cpu_to_le16(LOG_NOREDOINOEXT);
  1471			/*
  1472			 * For the LOG_NOREDOINOEXT record, we need
  1473			 * to pass the IAG number and inode extent
  1474			 * index (within that IAG) from which the
  1475			 * extent is being released.  These have been
  1476			 * passed to us in the iplist[1] and iplist[2].
  1477			 */
  1478			lrd->log.noredoinoext.iagnum =
  1479			    cpu_to_le32((u32) (size_t) cd->iplist[1]);
  1480			lrd->log.noredoinoext.inoext_idx =
  1481			    cpu_to_le32((u32) (size_t) cd->iplist[2]);
  1482	
  1483			pxdlock = (struct pxd_lock *) & tlck->lock;
  1484			*pxd = pxdlock->pxd;
  1485			lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
  1486	
  1487			/* update bmap */
  1488			tlck->flag |= tlckUPDATEMAP;
  1489	
  1490			/* mark page as homeward bound */
  1491			tlck->flag |= tlckWRITEPAGE;
  1492		} else
  1493			jfs_err("diLog: UFO type tlck:0x%p", tlck);
  1494	#ifdef  _JFS_WIP
  1495		/*
  1496		 *	alloc/free external EA extent
  1497		 *
  1498		 * a maplock for txUpdateMap() to update bPWMAP for alloc/free
  1499		 * of the extent has been formatted at txLock() time;
  1500		 */
  1501		else {
  1502			assert(tlck->type & tlckEA);
  1503	
  1504			/* log LOG_UPDATEMAP for logredo() to update bmap for
  1505			 * alloc of new (and free of old) external EA extent;
  1506			 */
  1507			lrd->type = cpu_to_le16(LOG_UPDATEMAP);
  1508			pxdlock = (struct pxd_lock *) & tlck->lock;
  1509			nlock = pxdlock->index;
  1510			for (i = 0; i < nlock; i++, pxdlock++) {
  1511				if (pxdlock->flag & mlckALLOCPXD)
  1512					lrd->log.updatemap.type =
  1513					    cpu_to_le16(LOG_ALLOCPXD);
  1514				else
  1515					lrd->log.updatemap.type =
  1516					    cpu_to_le16(LOG_FREEPXD);
  1517				lrd->log.updatemap.nxd = cpu_to_le16(1);
  1518				lrd->log.updatemap.pxd = pxdlock->pxd;
  1519				lrd->backchain =
  1520				    cpu_to_le32(lmLog(log, tblk, lrd, NULL));
  1521			}
  1522	
  1523			/* update bmap */
  1524			tlck->flag |= tlckUPDATEMAP;
  1525		}
  1526	#endif				/* _JFS_WIP */
  1527	
  1528		return;
  1529	}
  1530	
  1531	/*
  1532	 *	dataLog()
  1533	 *
  1534	 * function:	log data tlock
  1535	 */
> 1536	static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
  1537		    struct tlock *tlck)
  1538	{
  1539		struct metapage *mp;
  1540		pxd_t *pxd;
  1541	
  1542		mp = tlck->mp;
  1543	
  1544		/* initialize as REDOPAGE record format */
  1545		lrd->log.redopage.type = cpu_to_le16(LOG_DATA);
  1546		lrd->log.redopage.l2linesize = cpu_to_le16(L2DATASLOTSIZE);
  1547	
  1548		pxd = &lrd->log.redopage.pxd;
  1549	
  1550		/* log after-image for logredo(): */
  1551		lrd->type = cpu_to_le16(LOG_REDOPAGE);
  1552	
  1553		if (jfs_dirtable_inline(tlck->ip)) {
  1554			/*
  1555			 * The table has been truncated, we've must have deleted
  1556			 * the last entry, so don't bother logging this
  1557			 */
  1558			mp->lid = 0;
  1559			grab_metapage(mp);
  1560			metapage_homeok(mp);
  1561			discard_metapage(mp);
  1562			tlck->mp = NULL;
  1563			return;
  1564		}
  1565	
  1566		PXDaddress(pxd, mp->index);
  1567		PXDlength(pxd, mp->logical_size >> tblk->sb->s_blocksize_bits);
  1568	
  1569		lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
  1570	
  1571		/* mark page as homeward bound */
  1572		tlck->flag |= tlckWRITEPAGE;
  1573	
  1574		return;
  1575	}
  1576	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38339 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Yang Li <yang.lee@linux.alibaba.com>, shaggy@kernel.org
Cc: kbuild-all@lists.01.org, jfs-discussion@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Yang Li <yang.lee@linux.alibaba.com>
Subject: Re: [PATCH] jfs: turn diLog(), dataLog() and txLog() into void functions
Date: Sun, 7 Feb 2021 16:20:30 +0800	[thread overview]
Message-ID: <202102071620.wkojM1cW-lkp@intel.com> (raw)
In-Reply-To: <1612679820-35163-1-git-send-email-yang.lee@linux.alibaba.com>

[-- Attachment #1: Type: text/plain, Size: 10641 bytes --]

Hi Yang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shaggy/jfs-next]
[also build test ERROR on v5.11-rc6 next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Yang-Li/jfs-turn-diLog-dataLog-and-txLog-into-void-functions/20210207-143938
base:   https://github.com/kleikamp/linux-shaggy jfs-next
config: i386-randconfig-m021-20210207 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/8b7ab4ba41269109e7cb95106023e96d640842e9
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Yang-Li/jfs-turn-diLog-dataLog-and-txLog-into-void-functions/20210207-143938
        git checkout 8b7ab4ba41269109e7cb95106023e96d640842e9
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/jfs/jfs_txnmgr.c:1368:13: error: conflicting types for 'txLog'
    1368 | static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:162:12: note: previous declaration of 'txLog' was here
     162 | static int txLog(struct jfs_log * log, struct tblock * tblk,
         |            ^~~~~
>> fs/jfs/jfs_txnmgr.c:1424:13: error: conflicting types for 'diLog'
    1424 | static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:151:12: note: previous declaration of 'diLog' was here
     151 | static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~
>> fs/jfs/jfs_txnmgr.c:1536:13: error: conflicting types for 'dataLog'
    1536 | static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~~~
   fs/jfs/jfs_txnmgr.c:153:12: note: previous declaration of 'dataLog' was here
     153 | static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~~~
   fs/jfs/jfs_txnmgr.c:151:12: warning: 'diLog' used but never defined
     151 | static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~
   fs/jfs/jfs_txnmgr.c:153:12: warning: 'dataLog' used but never defined
     153 | static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
         |            ^~~~~~~
   fs/jfs/jfs_txnmgr.c:162:12: warning: 'txLog' used but never defined
     162 | static int txLog(struct jfs_log * log, struct tblock * tblk,
         |            ^~~~~
   fs/jfs/jfs_txnmgr.c:1536:13: warning: 'dataLog' defined but not used [-Wunused-function]
    1536 | static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~~~
   fs/jfs/jfs_txnmgr.c:1424:13: warning: 'diLog' defined but not used [-Wunused-function]
    1424 | static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
         |             ^~~~~
   fs/jfs/jfs_txnmgr.c:1368:13: warning: 'txLog' defined but not used [-Wunused-function]
    1368 | static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
         |             ^~~~~


vim +/txLog +1368 fs/jfs/jfs_txnmgr.c

  1356	
  1357	/*
  1358	 * NAME:	txLog()
  1359	 *
  1360	 * FUNCTION:	Writes AFTER log records for all lines modified
  1361	 *		by tid for segments specified by inodes in comdata.
  1362	 *		Code assumes only WRITELOCKS are recorded in lockwords.
  1363	 *
  1364	 * PARAMETERS:
  1365	 *
  1366	 * RETURN :
  1367	 */
> 1368	static void txLog(struct jfs_log *log, struct tblock *tblk, struct commit *cd)
  1369	{
  1370		struct inode *ip;
  1371		lid_t lid;
  1372		struct tlock *tlck;
  1373		struct lrd *lrd = &cd->lrd;
  1374	
  1375		/*
  1376		 * write log record(s) for each tlock of transaction,
  1377		 */
  1378		for (lid = tblk->next; lid; lid = tlck->next) {
  1379			tlck = lid_to_tlock(lid);
  1380	
  1381			tlck->flag |= tlckLOG;
  1382	
  1383			/* initialize lrd common */
  1384			ip = tlck->ip;
  1385			lrd->aggregate = cpu_to_le32(JFS_SBI(ip->i_sb)->aggregate);
  1386			lrd->log.redopage.fileset = cpu_to_le32(JFS_IP(ip)->fileset);
  1387			lrd->log.redopage.inode = cpu_to_le32(ip->i_ino);
  1388	
  1389			/* write log record of page from the tlock */
  1390			switch (tlck->type & tlckTYPE) {
  1391			case tlckXTREE:
  1392				xtLog(log, tblk, lrd, tlck);
  1393				break;
  1394	
  1395			case tlckDTREE:
  1396				dtLog(log, tblk, lrd, tlck);
  1397				break;
  1398	
  1399			case tlckINODE:
  1400				diLog(log, tblk, lrd, tlck, cd);
  1401				break;
  1402	
  1403			case tlckMAP:
  1404				mapLog(log, tblk, lrd, tlck);
  1405				break;
  1406	
  1407			case tlckDATA:
  1408				dataLog(log, tblk, lrd, tlck);
  1409				break;
  1410	
  1411			default:
  1412				jfs_err("UFO tlock:0x%p", tlck);
  1413			}
  1414		}
  1415	
  1416		return;
  1417	}
  1418	
  1419	/*
  1420	 *	diLog()
  1421	 *
  1422	 * function:	log inode tlock and format maplock to update bmap;
  1423	 */
> 1424	static void diLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
  1425			 struct tlock *tlck, struct commit *cd)
  1426	{
  1427		struct metapage *mp;
  1428		pxd_t *pxd;
  1429		struct pxd_lock *pxdlock;
  1430	
  1431		mp = tlck->mp;
  1432	
  1433		/* initialize as REDOPAGE record format */
  1434		lrd->log.redopage.type = cpu_to_le16(LOG_INODE);
  1435		lrd->log.redopage.l2linesize = cpu_to_le16(L2INODESLOTSIZE);
  1436	
  1437		pxd = &lrd->log.redopage.pxd;
  1438	
  1439		/*
  1440		 *	inode after image
  1441		 */
  1442		if (tlck->type & tlckENTRY) {
  1443			/* log after-image for logredo(): */
  1444			lrd->type = cpu_to_le16(LOG_REDOPAGE);
  1445			PXDaddress(pxd, mp->index);
  1446			PXDlength(pxd,
  1447				  mp->logical_size >> tblk->sb->s_blocksize_bits);
  1448			lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
  1449	
  1450			/* mark page as homeward bound */
  1451			tlck->flag |= tlckWRITEPAGE;
  1452		} else if (tlck->type & tlckFREE) {
  1453			/*
  1454			 *	free inode extent
  1455			 *
  1456			 * (pages of the freed inode extent have been invalidated and
  1457			 * a maplock for free of the extent has been formatted at
  1458			 * txLock() time);
  1459			 *
  1460			 * the tlock had been acquired on the inode allocation map page
  1461			 * (iag) that specifies the freed extent, even though the map
  1462			 * page is not itself logged, to prevent pageout of the map
  1463			 * page before the log;
  1464			 */
  1465	
  1466			/* log LOG_NOREDOINOEXT of the freed inode extent for
  1467			 * logredo() to start NoRedoPage filters, and to update
  1468			 * imap and bmap for free of the extent;
  1469			 */
  1470			lrd->type = cpu_to_le16(LOG_NOREDOINOEXT);
  1471			/*
  1472			 * For the LOG_NOREDOINOEXT record, we need
  1473			 * to pass the IAG number and inode extent
  1474			 * index (within that IAG) from which the
  1475			 * extent is being released.  These have been
  1476			 * passed to us in the iplist[1] and iplist[2].
  1477			 */
  1478			lrd->log.noredoinoext.iagnum =
  1479			    cpu_to_le32((u32) (size_t) cd->iplist[1]);
  1480			lrd->log.noredoinoext.inoext_idx =
  1481			    cpu_to_le32((u32) (size_t) cd->iplist[2]);
  1482	
  1483			pxdlock = (struct pxd_lock *) & tlck->lock;
  1484			*pxd = pxdlock->pxd;
  1485			lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
  1486	
  1487			/* update bmap */
  1488			tlck->flag |= tlckUPDATEMAP;
  1489	
  1490			/* mark page as homeward bound */
  1491			tlck->flag |= tlckWRITEPAGE;
  1492		} else
  1493			jfs_err("diLog: UFO type tlck:0x%p", tlck);
  1494	#ifdef  _JFS_WIP
  1495		/*
  1496		 *	alloc/free external EA extent
  1497		 *
  1498		 * a maplock for txUpdateMap() to update bPWMAP for alloc/free
  1499		 * of the extent has been formatted at txLock() time;
  1500		 */
  1501		else {
  1502			assert(tlck->type & tlckEA);
  1503	
  1504			/* log LOG_UPDATEMAP for logredo() to update bmap for
  1505			 * alloc of new (and free of old) external EA extent;
  1506			 */
  1507			lrd->type = cpu_to_le16(LOG_UPDATEMAP);
  1508			pxdlock = (struct pxd_lock *) & tlck->lock;
  1509			nlock = pxdlock->index;
  1510			for (i = 0; i < nlock; i++, pxdlock++) {
  1511				if (pxdlock->flag & mlckALLOCPXD)
  1512					lrd->log.updatemap.type =
  1513					    cpu_to_le16(LOG_ALLOCPXD);
  1514				else
  1515					lrd->log.updatemap.type =
  1516					    cpu_to_le16(LOG_FREEPXD);
  1517				lrd->log.updatemap.nxd = cpu_to_le16(1);
  1518				lrd->log.updatemap.pxd = pxdlock->pxd;
  1519				lrd->backchain =
  1520				    cpu_to_le32(lmLog(log, tblk, lrd, NULL));
  1521			}
  1522	
  1523			/* update bmap */
  1524			tlck->flag |= tlckUPDATEMAP;
  1525		}
  1526	#endif				/* _JFS_WIP */
  1527	
  1528		return;
  1529	}
  1530	
  1531	/*
  1532	 *	dataLog()
  1533	 *
  1534	 * function:	log data tlock
  1535	 */
> 1536	static void dataLog(struct jfs_log *log, struct tblock *tblk, struct lrd *lrd,
  1537		    struct tlock *tlck)
  1538	{
  1539		struct metapage *mp;
  1540		pxd_t *pxd;
  1541	
  1542		mp = tlck->mp;
  1543	
  1544		/* initialize as REDOPAGE record format */
  1545		lrd->log.redopage.type = cpu_to_le16(LOG_DATA);
  1546		lrd->log.redopage.l2linesize = cpu_to_le16(L2DATASLOTSIZE);
  1547	
  1548		pxd = &lrd->log.redopage.pxd;
  1549	
  1550		/* log after-image for logredo(): */
  1551		lrd->type = cpu_to_le16(LOG_REDOPAGE);
  1552	
  1553		if (jfs_dirtable_inline(tlck->ip)) {
  1554			/*
  1555			 * The table has been truncated, we've must have deleted
  1556			 * the last entry, so don't bother logging this
  1557			 */
  1558			mp->lid = 0;
  1559			grab_metapage(mp);
  1560			metapage_homeok(mp);
  1561			discard_metapage(mp);
  1562			tlck->mp = NULL;
  1563			return;
  1564		}
  1565	
  1566		PXDaddress(pxd, mp->index);
  1567		PXDlength(pxd, mp->logical_size >> tblk->sb->s_blocksize_bits);
  1568	
  1569		lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
  1570	
  1571		/* mark page as homeward bound */
  1572		tlck->flag |= tlckWRITEPAGE;
  1573	
  1574		return;
  1575	}
  1576	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 38339 bytes --]

  parent reply	other threads:[~2021-02-07  8:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-07  6:37 [PATCH] jfs: turn diLog(), dataLog() and txLog() into void functions Yang Li
2021-02-07  7:44 ` kernel test robot
2021-02-07  7:44   ` kernel test robot
2021-02-07  8:20 ` kernel test robot [this message]
2021-02-07  8:20   ` kernel test robot

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=202102071620.wkojM1cW-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.