timedWrite(nr, data);
getApi().write(nr*blockSize, data, 0, blockSize);
	public void writeBlock(long nr, byte[] data, boolean forceWrite) throws IOException {		if(isReadOnly())			throw new ReadOnlyFileSystemException("Filesystem is mounted read-only!"); 					Block block;				Integer key=new Integer((int)nr);		//check if the block is in the cache		synchronized(blockCache) {			if(blockCache.containsKey(key)) {				block = (Block)blockCache.get(key);				//update the data in the cache				block.setData(data);				if(forceWrite || SYNC_WRITE) {					//write the block to disk					//api.write(nr*blockSize, data, 0, blockSize);					timedWrite(nr, data);					block.setDirty(false);					log.debug("writing block "+nr+" to disk");				} else					block.setDirty(true);			} else {				//If the block was not in the cache, I see no reason to put it				//in the cache when it is written.				//It is simply written to disk.				//api.write(nr*blockSize, data, 0, blockSize);				timedWrite(nr, data);			}		}	}