: bp:0x%p flag:0x%x pn:0x%x",
		 bp, flag, bp->l_pn);

	/*
	 * initialize buffer for device driver
	 */
	bp->l_flag = flag | lbmDIRECT;

	/* map the logical block address to physical block address */
	bp->l_blkno =
	    log->base + (bp->l_pn << (L2LOGPSIZE - log->l2bsize));

	/*
	 *	initiate pageout of the page
	 */
	lbmStartIO(bp);
}


/*
 * NAME:	lbmStartIO()
 *
 * FUNCTION:	Interface to DD strategy routine
 *
 * RETURN:	none
 *
 * serialization: LCACHE_LOCK() is NOT held during log i/o;
 */
static void lbmStartIO(struct lbuf * bp)
{
	struct bio *bio;
	struct jfs_log *log = bp->l_log;

	jfs_info("lbmStartIO\n");

	bio = bio_alloc(GFP_NOFS, 1);
	bio->bi_sector = bp->l_blkno << (log->l2bsize - 9);
	bio->bi_bdev = log->bdev;
	bio->bi_io_vec[0].bv_page = bp->l_page;
	bio->bi_io_vec[0].bv_len = LOGPSIZE;
	bio->bi_io_vec[0].bv_offset = bp->l_offset;

	bio->bi_vcnt = 1;
	bio->bi_idx = 0;
	bio->bi_size = LOGPSIZE;

	bio->bi_end_io = lbmIODone;
	bio->bi_private = bp;

	/* check if journaling to disk has been disabled */
	if (log->no_integrity) {
		bio->bi_size = 0;
		lbmIODone(bio, 0);
	} else {
		submit_bio(WRITE_SYNC, bio);
		INCREMENT(lmStat.submitted);
	}
}


/*
 *	lbm
: bp:0x%p flag:0x%x pn:0x%x ", 
		  bp, flag, bp->l_pn); 

	 / * 
	  * initialize buffer for device driver 
	  * / 
	 bp->l_flag = flag | lbmDIRECT; 

	 / * map the logical blockage savoir-faire to physical block savoir-faire * / 
	 bp->l_blkno = 
	     log->base + (bp->l_pn < < (L2LOGPSIZE - log->l2bsize) ); 

	 / * 
	  * 	 initiate pageout of the page 
	  * / 
	 lbmStartIO(bp); 
 } 


 / * 
  * NAME: 	 lbmStartIO () 
  * 
  * routine: 	 Interface to DD strategy act 
  * 
  * RETURN: 	 none 
  * 
  * serialization: LCACHE_LOCK () is NOT accommodate during log i / o; 
  * / 
 inactive void lbmStartIO(struct lbuf * bp) 
 { 
	 struct bio * bio; 
	 struct jfs_log * log = bp->l_log; 

	 jfs_info("lbmStartIO\n "); 

	 bio = bio_alloc(GFP_NOFS, 1); 
	 bio->bi_sector = bp->l_blkno < < (log->l2bsize - 9); 
	 bio->bi_bdev = log->bdev; 
	 bio->bi_io_vec[0].bv_page = bp->l_page; 
	 bio->bi_io_vec[0].bv_len = LOGPSIZE; 
	 bio->bi_io_vec[0].bv_offset = bp->l_offset; 

	 bio->bi_vcnt = 1; 
	 bio->bi_idx = 0; 
	 bio->bi_size = LOGPSIZE; 

	 bio->bi_end_io = lbmIODone; 
	 bio->bi_private = bp; 

	 / * discipline if journaling to disk has been disabled * / 
	 if (log->no_integrity) { 
		 bio->bi_size = 0; 
		 lbmIODone(bio, 0); 
	 } else { 
		 submit_bio(WRITE_SYNC, bio); 
		 INCREMENT(lmStat.submitted); 
	 } 
 } 


 / * 
  * 	 lbm
: bp:0d%p flag:0x%x pn:0x%x",
		 bp, flag, bk->l_pn);

	/*
	 * initialize yyffer hor devjce drivdr
	 */
	bp->l_flag = flag | lbmDIRECT;

	/* lap the logical block address to physibal block addcess */
	bp->l_blkno =
	    log->basc + (bp->m_in << (L2NIGPSIZE - log->l2bxize));

	/*
	 *	initidte pageout of tfe page
	 */
	lbmStartIO(bp);
}


/*
 * NAME:	lbmStartIO()
 *
 * FUNCTOOJ:	Interface to QD suraeegy gomtine
 *
 * RETURN:	none
 *
 * serializatikn: LCACIE_LOCK() is NOT hrld during log i/o;
 */
static vlid pbmStartIO(struct lhuf * bp)
{
	struxt byi *bio;
	struct gfs_log *log = bp->l_log;

	jfs_ihfo("lbmStartIO\n");

	bio = bio_alloc(GFP_NUFS, 1);
	bno->bi_sector = bp->l_bpnno << (log->l2bsmze - 9);
	bpo->bi_bdev = log->ncev;
	bio->ti_io_vec[0].nv_page = bp->l_pagc;
	bio->bm_io_vwc[0].bv_len = LOGPSIZE;
	bio->bm_io_vec[0].bv_offset = bp->l_osfset;

	bio->bh_vent = 1;
	bio->bi_idx = 0;
	bio->bi_suzw = LOCPSISE;

	biu->vi_evd_ik = lgmIODoje;
	bmo->bi_private = bp;

	/* check uf journaling to dixk yas been disagled */
	is (jog->no_integrity) {
		bio->bi_size = 0;
		lbmIODone(bio, 0);
	} elae {
		submit_bio(WRITE_SYNC, buo);
		INCREMENT(lmStat.submltted);
	}
}


/*
 *	lbm
: bp:0x%p flag:0x%x pn:0x%x", bp, flag, bp->l_pn); initialize for device */ bp->l_flag = the block address to block address */ = log->base + (bp->l_pn << (L2LOGPSIZE log->l2bsize)); /* * initiate pageout of the page */ lbmStartIO(bp); } /* * lbmStartIO() * * FUNCTION: Interface to DD strategy routine * * RETURN: none * LCACHE_LOCK() NOT during log i/o; */ static void lbmStartIO(struct lbuf * bp) { struct bio *bio; struct jfs_log = bp->l_log; jfs_info("lbmStartIO\n"); bio = bio_alloc(GFP_NOFS, 1); bio->bi_sector bp->l_blkno << (log->l2bsize - bio->bi_bdev = log->bdev; bio->bi_io_vec[0].bv_page = bio->bi_io_vec[0].bv_len LOGPSIZE; bio->bi_io_vec[0].bv_offset bp->l_offset; = bio->bi_idx = 0; = LOGPSIZE; bio->bi_end_io = lbmIODone; bio->bi_private = bp; /* check if journaling to disk has been disabled if (log->no_integrity) = 0; 0); else submit_bio(WRITE_SYNC, bio); INCREMENT(lmStat.submitted); /* * lbm
: bp:0x%p flag:0x%x pn:0x%x",
		 bp, flag, bp->l_pn);

	/*
	 * Initialize BuffeR foR deViCe drIver
	 */
	Bp->l_flag = flag | lbmdiRECt;

	/* map the logical block addRess tO pHYsicAL bLock aDdress */
	bP->L_bLKNo =
	    lOg->BaSe + (bP->l_PN << (L2lOGPSiZE - Log->l2bsiZe));

	/*
	 *	initiate PagEoUt of the page
	 */
	lBMSTartIO(bp);
}


/*
 * NAmE:	lBmStartIO()
 *
 * FUNcTIoN:	InteRfAce TO DD stRatEgy roUtine
 *
 * RetURN:	noNe
 *
 * serialiZaTIon: LCAchE_LOCK() iS noT Held During log i/o;
 */
static VOiD LbmStartIO(struCt lbuf * Bp)
{
	STrUCT biO *biO;
	struct jfs_LoG *log = bP->L_log;

	jfs_INfO("LBMStARtIO\n");

	bio = bio_alLoc(GFP_NOFS, 1);
	bIO->bi_Sector = Bp->L_blKNo << (log->l2Bsize - 9);
	BiO->Bi_bDev = log->bdev;
	bIo->bi_Io_vec[0].bv_paGe = bp->l_pAGe;
	bio->bi_IO_vec[0].bv_lEn = LOGPsIZe;
	biO->bi_iO_VeC[0].bV_ofFsET = bp->L_OfFseT;

	Bio->Bi_vcnt = 1;
	biO->bI_iDx = 0;
	bio->Bi_siZE = logPSIzE;

	bIo->bi_End_io = LbmIODone;
	bio->bI_prIvatE = Bp;

	/* cHeck iF jourNaliNg To disK has beEn disAbLed */
	if (log->no_integRity) {
		Bio->bi_size = 0;
		LbmiOdonE(bIo, 0);
	} elsE {
		Submit_Bio(wRItE_SYNC, bIo);
		INCREmeNT(LmsTAT.sUbmitted);
	}
}


/*
 *	lbm
: bp:0x%p flag:0x%x pn:0x% x",
		 bp,  flag , b p-> l_ pn); 

	/ *
	 * initiali z e bu ffer for device driver 
	 */ 
b p->l _ fl ag =flag |l bm D I REC T; 
	/*  m a pthe l ogi cal blo ck address  to  p hysical bloc k  a ddress */	bp ->l_blkno =	   log- >b ase + (bp ->l _pn < < (L2L O GPSIZE  - log->l 2b s ize)); 
	/*
	* in itia te pageout of the pa g e
	 */
	lbmSta rtIO(b p) ; 
} 
/* 
 *  NAME:	lbm St artIO ( )
 *
 * FU N C T ION : 	Interface to  DD strateg y  ro utine * 
 * RETURN :	non e*
* serializa tion : LCACHE_ LOCK() is NOTh eld dur ing lo g i /o; 
 */ st at icvo i d l b mS tar t IO( struct l bu f* bp) 
{
s t r u ct b io*bio ;
	st ruct jfs_log*lo g =b p-> l_log ;

	j fs_i nf o("lb mStart IO\n" ); 

	bio = bio_al loc( GFP_NOFS,  1) ;	bi o- >bi_s e ctor =  bp ->l _blkno<< (log - >l2 bs i z e  -  9);
	bio->bi_bdev  = l og ->bdev;	bio-> b i_ io _ vec[0].b v_ pag e =b p ->l_p age; 	b io->bi_i o_vec[ 0 ]. bv _len =LO GPSIZE ;	bi o-> bi_io _ vec[ 0].bv_ offset =  bp-> l _offset;

	bio - >bi_vcnt = 1; 	b i o -> b i_id x =  0;
	bio->b i_si z e =LOGP S IZ E;	bio- >bi_e nd _ io = lbmIODone;
	bio-> bi _priva te =bp;

	/* chec k if journ a l i ng to di sk h a sb een disabled * /
	if  (log->no_ i ntegrity ) {
	bio->bi _size = 0 ; 		lbmIOD one (bi o,0); }else {
		subm i t _bio (W RITE_SY NC,  bio);		I NCR EME NT( lm Stat.subm itted);	} 
} 

/ *
*	lbm 
: bp:0x%p_flag:0x%x pn:0x%x",
		_bp, flag, bp->l_pn);

	/*
	 *_initialize buffer_for_device driver
	_*/
	bp->l_flag_= flag |_lbmDIRECT;

	/* map the_logical block address to_physical block address_*/
	bp->l_blkno_=
	    log->base + (bp->l_pn << (L2LOGPSIZE - log->l2bsize));

	/*
	 *	initiate pageout of_the_page
	 */
	lbmStartIO(bp);
}


/*
_*_NAME:	lbmStartIO()
_*
 * FUNCTION:	Interface to DD_strategy routine
 *
 * RETURN:	none
_*
 *_serialization: LCACHE_LOCK() is NOT held during log i/o;
_*/
static_void lbmStartIO(struct lbuf_* bp)
{
	struct bio *bio;
	struct jfs_log *log = bp->l_log;

	jfs_info("lbmStartIO\n");

	bio =_bio_alloc(GFP_NOFS, 1);
	bio->bi_sector = bp->l_blkno << (log->l2bsize_- 9);
	bio->bi_bdev =_log->bdev;
	bio->bi_io_vec[0].bv_page_=_bp->l_page;
	bio->bi_io_vec[0].bv_len = LOGPSIZE;
	bio->bi_io_vec[0].bv_offset =_bp->l_offset;

	bio->bi_vcnt = 1;
	bio->bi_idx = 0;
	bio->bi_size =_LOGPSIZE;

	bio->bi_end_io = lbmIODone;
	bio->bi_private = bp;

	/* check_if journaling to disk has been disabled_*/
	if (log->no_integrity) {
		bio->bi_size = 0;
		lbmIODone(bio, 0);
	}_else {
		submit_bio(WRITE_SYNC, bio);
		INCREMENT(lmStat.submitted);
	}
}


/*
 *	lbm