RF_LOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex); ((RF_Raid_t *) desc->raidPtr)->openings++; RF_UNLOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex);
rf_State_LastState(RF_RaidAccessDesc_t * desc){	void    (*callbackFunc) (RF_CBParam_t) = desc->callbackFunc;	RF_CBParam_t callbackArg;	callbackArg.p = desc->callbackArg;	if (!(desc->flags & RF_DAG_TEST_ACCESS)) {	/* don't biodone if this */#if DKUSAGE > 0		RF_DKU_END_IO(((RF_Raid_t *) desc->raidPtr)->raidid, (struct buf *) desc->bp);#else		RF_DKU_END_IO(((RF_Raid_t *) desc->raidPtr)->raidid);#endif				/* DKUSAGE > 0 */		/*	         * If this is not an async request, wake up the caller	         */		if (desc->async_flag == 0)			wakeup(desc->bp);		/* 		 * Wakeup any requests waiting to go.		 */		RF_LOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex);		((RF_Raid_t *) desc->raidPtr)->openings++;		wakeup(&(((RF_Raid_t *) desc->raidPtr)->openings));		RF_UNLOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex);		/* printf("Calling biodone on 0x%x\n",desc->bp); */		biodone(desc->bp);	/* access came through ioctl */	}	if (callbackFunc)		callbackFunc(callbackArg);	rf_FreeRaidAccDesc(desc);	return RF_FALSE;}