log->bp = NULL; 
int lmLogShutdown(struct jfs_log * log){	int rc;	struct lrd lrd;	int lsn;	struct logsuper *logsuper;	struct lbuf *bpsuper;	struct lbuf *bp;	struct logpage *lp;	jfs_info("lmLogShutdown: log:0x%p", log);	jfs_flush_journal(log, 2);	/*	 * write the last SYNCPT record with syncpoint = 0	 * (i.e., log redo up to HERE !)	 */	lrd.logtid = 0;	lrd.backchain = 0;	lrd.type = cpu_to_le16(LOG_SYNCPT);	lrd.length = 0;	lrd.log.syncpt.sync = 0;		lsn = lmWriteRecord(log, NULL, &lrd, NULL);	bp = log->bp;	lp = (struct logpage *) bp->l_ldata;	lp->h.eor = lp->t.eor = cpu_to_le16(bp->l_eor);	lbmWrite(log, log->bp, lbmWRITE | lbmRELEASE | lbmSYNC, 0);	lbmIOWait(log->bp, lbmFREE);	/*	 * synchronous update log superblock	 * mark log state as shutdown cleanly	 * (i.e., Log does not need to be replayed).	 */	if ((rc = lbmRead(log, 1, &bpsuper)))		goto out;	logsuper = (struct logsuper *) bpsuper->l_ldata;	logsuper->state = cpu_to_le32(LOGREDONE);	logsuper->end = cpu_to_le32(lsn);	lbmDirectWrite(log, bpsuper, lbmWRITE | lbmRELEASE | lbmSYNC);	rc = lbmIOWait(bpsuper, lbmFREE);	jfs_info("lmLogShutdown: lsn:0x%x page:%d eor:%d",		 lsn, log->page, log->eor);      out:    	/*	 * shutdown per log i/o	 */	lbmLogShutdown(log);	if (rc) {		jfs_warn("lmLogShutdown: exit(%d)", rc);	}	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dc5798d9a7b656550533a5c0177dba17d4ef4990/jfs_logmgr.c/buggy/fs/jfs/jfs_logmgr.c