hold_metapage(mp, 0); atomic_dec(&mp->nohomeok); 
grab_metapage(mp); metapage_homeok(mp); 
static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,	    struct tlock * tlck){	struct metapage *mp;	pxd_t *pxd;	mp = tlck->mp;	/* initialize as REDOPAGE record format */	lrd->log.redopage.type = cpu_to_le16(LOG_DATA);	lrd->log.redopage.l2linesize = cpu_to_le16(L2DATASLOTSIZE);	pxd = &lrd->log.redopage.pxd;	/* log after-image for logredo(): */	lrd->type = cpu_to_le16(LOG_REDOPAGE);	if (jfs_dirtable_inline(tlck->ip)) {		/*		 * The table has been truncated, we've must have deleted		 * the last entry, so don't bother logging this		 */		mp->lid = 0;		hold_metapage(mp, 0);		atomic_dec(&mp->nohomeok);		discard_metapage(mp);		tlck->mp = NULL;		return 0;	}	PXDaddress(pxd, mp->index);	PXDlength(pxd, mp->logical_size >> tblk->sb->s_blocksize_bits);	lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));	/* mark page as homeward bound */	tlck->flag |= tlckWRITEPAGE;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7fab479bebb96b1b4888bdae9b42e1fa9c5d3f38/jfs_txnmgr.c/clean/fs/jfs/jfs_txnmgr.c