Apr 022012
 

I have already posted about the great bindfs FUSE filesystem.

In this special case we use it as a destination for Avid’s Media Composer. The problem with Avid is, that they use some fcntl calls that are not yet supported by fuse4x. This calls are used to preallocate storage.

When you search around the Web you will find out that fcntl is based on ioctl – therefore it was clear for us to find a FUSE implementation that supports ioctl on Mac OS X. The only current solution is to use fuse4x and Anatol’s (the main developer) “private” kext repository. I built this version, updated bindfs but was still not able to get it working.

After digging in even further, I found the corresponding kernel source file, where the F_PREALLOCATE attribute is handled. With this information I was able to update the fuse4x kext to “support” the VNOP_ALLOCATE VFS interface.

With this patched kext Avid is able to consolidate on a FUSE volume. The sources and a binary packages is available to download at Google Code.