Skip to content

Blobfuse2 Limitations

Vikas Bhansali edited this page Oct 14, 2022 · 4 revisions

Following file-system operations are not supported in Blobfuse2

  • mknod
  • link (hard link api)
  • setxattr
  • getxattr
  • listxattr
  • removexattr
  • access
  • lock
  • bmap
  • ioctl
  • poll
  • write_buf
  • read_buf
  • flock
  • fallocate
  • copyfilerange
  • lseek

Following file-system workflows are not supported in Blobfuse2

  • Creation of pipes, FIFO queues, Device files
  • XAttrs for file or directory
  • Hardlinks for file or directory
  • Last access time and Last change time for any file or directory

Following file-system operations have altered behavior in Blobfuse2

  • fsync() force deletes file from local cache and invalidates attribute cache. This forces blobfuse2 to refresh the file metadata and contents on next open call to that file.
  • fsyncdir() invalidates metadata of that directory recursively. This forces blobfuse2 to refresh metadata of any child of that directory on next metadata query by kernel.

Unsupported scenarios

  • Blobfuse2 does not support overlapping mount paths. While running multiple instances of Blobfuse2 make sure each instance has a unique and non-overlapping mount point.
  • Blobfuse2 does not support co-existence with NFS on same mount path. Behavior in this case is undefined.
  • For non-HNS accounts (flat name space), Blobfuse2 expects special directory marker files to identify any directory. If such files do not exist on storage and '--virtual-directory=true' cli flag is not provided, Blobfuse2 will fail to identify directories.
  • On non-HNS accounts chmod operations are not permitted and Blobfuse2 will return back success in such cases.