private static AtomicLong referenceCounter = new AtomicLong(0);
private static CrailFS instance = null;
public abstract Future<CrailFile> createFile(String path, int locationAffinity, int storageAffinity) throws Exception;
public abstract Future<CrailDirectory> makeDirectory(String path) throws Exception;
public abstract Future<CrailFile> lookupFile(String path, boolean writeable) throws Exception;
<BUG>public abstract Future<CrailDirectory> lookupDirectory(String path) throws Exception;
public abstract Future<CrailFile> rename(String src, String dst) throws Exception;

public abstract Future<CrailFile> delete(String path, boolean recursive) throws Exception;
</BUG>
public abstract void dumpNameNode() throws Exception;

private static AtomicLong referenceCounter = new AtomicLong(0);
private static CrailFS instance = null;
public abstract Future<CrailFile> createFile(String path, int locationAffinity, int storageAffinity) throws Exception;
public abstract Future<CrailDirectory> makeDirectory(String path) throws Exception;
public abstract Future<CrailFile> lookupFile(String path, boolean writeable) throws Exception;
public abstract Future<CrailDirectory> lookupDirectory(String path) throws Exception;
public abstract Future<CrailNode> lookupNode(String path) throws Exception;
public abstract Future<CrailNode> rename(String src, String dst) throws Exception;
public abstract Future<CrailNode> delete(String path, boolean recursive) throws Exception;
public abstract void dumpNameNode() throws Exception;
