if (BT_IS_ROOT(mp)) tlck->type |= tlckBTROOT;  
static void add_missing_indices(struct inode *inode, s64 bn){	struct ldtentry *d;	struct dt_lock *dtlck;	int i;	uint index;	struct lv *lv;	struct metapage *mp;	dtpage_t *p;	int rc;	s8 *stbl;	tid_t tid;	struct tlock *tlck;	tid = txBegin(inode->i_sb, 0);	DT_GETPAGE(inode, bn, mp, PSIZE, p, rc);	if (rc) {		printk(KERN_ERR "DT_GETPAGE failed!\n");		goto end;	}	BT_MARK_DIRTY(mp, inode);	ASSERT(p->header.flag & BT_LEAF);	tlck = txLock(tid, inode, mp, tlckDTREE | tlckENTRY);	dtlck = (struct dt_lock *) &tlck->lock;	stbl = DT_GETSTBL(p);	for (i = 0; i < p->header.nextindex; i++) {		d = (struct ldtentry *) &p->slot[stbl[i]];		index = le32_to_cpu(d->index);		if ((index < 2) || (index >= JFS_IP(inode)->next_index)) {			d->index = cpu_to_le32(add_index(tid, inode, bn, i));			if (dtlck->index >= dtlck->maxcnt)				dtlck = (struct dt_lock *) txLinelock(dtlck);			lv = &dtlck->lv[dtlck->index];			lv->offset = stbl[i];			lv->length = 1;			dtlck->index++;		}	}	DT_PUTPAGE(mp);	(void) txCommit(tid, 1, &inode, 0);end:	txEnd(tid);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c2731509cfb538b9b38feaf657fab2334ea45253/jfs_dtree.c/clean/fs/jfs/jfs_dtree.c