@Override
	public void write(FileHandle handle, ByteBuffer buffer, long offset) throws DriveFullException, PartIsLockedException {
		if (fileLocking)
		{
			FileLock lock = getFileLockWithinOffset(handle.getFilePath(), offset, offset + buffer.limit());
			if (lock != null)
			{
				if (lock.handle != handle)
					throw new PartIsLockedException();
			}
		}
		if (hardlinks)
		{
			if (RedirectedFileHandle.class.isInstance(handle))
			{
				innerFs.write(((RedirectedFileHandle)handle).getRedirectedFileHandle(), buffer, offset);
				return;
			}
		}
		innerFs.write(handle, buffer, offset);
	}