Skip to content

Releases: Azure/azure-storage-fuse

blobfuse2-2.5.0-preview.1

30 Apr 16:30
4ef9779
Compare
Choose a tag to compare

Features

  • Preload feature added to download entire dataset on mount, to accelerate model training.
  • Added support for lazy unmounts. Lazy unmount will wait for device to be free and unmount automatically, instead of giving "device or resource busy" on executing unmount. --lazy CLI option in unmount command will enable lazy unmount.

Bug Fixes

  • #1687 rmdir will not allow to delete non-empty directories.

blobfuse2-2.4.2

08 Apr 07:44
25d9161
Compare
Choose a tag to compare

Bug Fixes

  • #1630 Added support to mount special containers in mount all command.
  • #1647 Provide detailed error when authentication fails.

Features

  • Added Client Assertion based authentication for containers. Configure tenant-id, client-id, aad-application-id and security scope with authMode set to workloadidentity.
  • Use AZURE_STORAGE_SERVICE_API_VERSION to override the x-ms-version parameter in REST calls.
  • Auto detection of account-type (block/adls) when user has not provided the type explicitly.

blobfuse2-2.4.1

18 Feb 08:17
2dde93c
Compare
Choose a tag to compare

Features

  • Mount container or directory but restrict the view of blobs that you can see. This feature is available only in read-only mount.
  • To protect against accidental overwrites on data stored by block-cache on temp path, crc64 hash will be validated on read. This feature can be enabled by using --block-cache-strong-consistency cli flag.
  • To provide strong consistency check, ETAG of the file will be preserved on open. For any subsequent block download, with block-cache, ETAG will be verified and if the blob has changed in container the download will be declare failure resulting into read failure.

Bug Fixes

  • Create block pool only in the child process.
  • Prevent the block cache to truncate the file size to zero when the file is opened in O_WRONLY mode when writebackcache is disabled.
  • Correct statFS results to reflect block-cache in memory cache status.
  • Do not wipeout temp-cache on start after a un-graceful unmount, if cleanup-on-start is not configured in file-cache.
  • When the subdirectory is mounted and there is some file/folder operation, remove only the subdirectory path from the file paths.
  • Enable atomic_o_trunc flag in libfuse to allow O_TRUNC flag to come in the open call for fuse2.
  • In file-cache, when the O_TRUNC flag is passed to the open call and no modifications were done to the file before closing it then update the file in the Azure Storage to size 0.

Other Changes

  • Optimized listing operation on HNS account to support symlinks.
  • Optimized Rename operation to do less number of REST calls.
  • Add documentation on usage of Private Endpoints with HNS-Enabled Storage Accounts

blobfuse2-2.4.0

03 Dec 10:58
4a57c1b
Compare
Choose a tag to compare

Features

  • Added 'gen-config' command to auto generate the recommended blobfuse2 config file based on computing resources and memory available on the node. Command details can be found with blobfuse2 gen-config --help.
  • Added option to set Entry cache to hold directory listing results in cache for a given timeout. This will reduce REST calls going to storage and enables faster access across multiple applications that use Blobfuse on the same node.

Bug Fixes

  • #1426 Read panic in block-cache due to boundary conditions.
  • Do not allow mount path and temp-cache path to be same when using block-cache.
  • Do not allow to mount with non-empty directory provided for disk persistence in block-cache.
  • Rename file was calling an additional getProperties call.
  • Delete empty directories from local cache on rmdir operation.
  • #1547 Truncate logic of file cache is modified to prevent downloading and uploading the entire file.
  • Updating a file via Blobfuse2 was resetting the ACLs and Permissions applied to file in Datalake.

Other Changes

  • Stream option automatically replaced with "Stream with Block-cache" internally for optimized performance.
  • Login via Managed Identify is supported with Object-ID for all versions of blobfuse except 2.3.0 and 2.3.2.To use Object-ID for these two versions, use AzCLI or utilize Application/Client-ID or Resource ID base authentication..
  • Version check is now moved to a static website hosted on a public container.

blobfuse2-2.3.2

03 Sep 11:52
d063317
Compare
Choose a tag to compare

Bug Fixes

  • Fixed the case where file creation using SAS on HNS accounts was returning back wrong error code.
  • #1402 Fixed proxy URL parsing.
  • In flush operation, the blocks will be committed only if the handle is dirty.
  • Fixed an issue in File-Cache that caused upload to fail due to insufficient permissions.

Data Integrity Fixes

  • Fixed block-cache read of small files in direct-io mode, where file size is not multiple of kernel buffer size.
  • Fixed race condition in block-cache random write flow where a block is being uploaded and written to in parallel.
  • Fixed issue in block-cache random read/write flow where a uncommitted block, which is deleted from local cache, is reused.
  • Sparse file data integrity issues fixed.

Other Changes

  • LFU policy in file cache has been removed.
  • Default values, if not assigned in config, for the following parameters in block-cache are calculated as follows:
    • Memory preallocated for Block-Cache is 80% of free memory
    • Disk Cache Size is 80% of free disk space
    • Prefetch is 2 times number of CPU cores
    • Parallelism is 3 times the number of CPU cores
  • Default value of Disk Cache Size in File Cache is 80% of free disk space

blobfuse2-2.3.0

16 May 10:02
33008bb
Compare
Choose a tag to compare

Bug Fixes

  • For fuse minor version check rely on the fusermount3 command output rather then one exposed from fuse_common.
  • Fixed large number of threads from TLRU causing crash during disk eviction in block-cache.
  • Fixed issue where get attributes was failing for directories in blob accounts when CPK flag was enabled.

Features

  • Added support for authentication using Azure CLI.

Other Changes

  • Added support in
    • Ubuntu 24.04 (x86_64 and ARM64)
    • Rocky Linux 8 and 9
    • Alma Linux 8 and 9
  • Added support for FIPS based Linux systems.
  • Updated dependencies to address security vulnerabilities.

blobfuse2-2.3.0~preview.1

04 Apr 12:35
8e06e67
Compare
Choose a tag to compare
Pre-release

Bug Fixes

  • #1057 Fixed the issue where user-assigned identity is not used to authenticate when system-assigned identity is enabled.
  • Listing blobs is now supported for blob names that contain characters that aren't valid in XML (U+FFFE or U+FFFF).
  • #1359, #1368 Fixed RHEL 8.6 mount failure

Features

  • Migrated to the latest azblob SDK.
  • Migrated to the latest azdatalake SDK.
  • Migrated from deprecated ADAL to MSAL through the latest azidentity SDK.
  • Added support for uploading blobs in cold and premium tier.
  • Support CPK for adls storage accounts.
  • Lazy-write support for async flush and close file call. Actual upload will be scheduled in background when this feature is enabled.

blobfuse2-2.2.1

28 Feb 09:20
bd7dffc
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed panic while truncating a file to a very large size.
  • Fixed block-cache panic on flush of a file which has no active changeset
  • Fixed block-cache panic on renaming a file and then flushing older handle
  • Fixed block-cache flush resulting in invalid-block-list error

blobfuse2-2.2.0

24 Jan 08:06
ea58a81
Compare
Choose a tag to compare

Features

  • Support CPK for block storage accounts.
  • Support to write files using block-cache.
    • Optimized for sequential writing.
    • Editing/Appending existing files works only if files were originally created using block-cache with the same block size.

Bug Fixes

  • Invalidate attribute cache entry on PathAlreadyExists error in create directory operation.
  • When $HOME environment variable is not present, use the current directory.
  • Fixed mount failure on nonempty mount path for fuse3.

blobfuse2-2.1.2

17 Nov 10:45
779a5ea
Compare
Choose a tag to compare

Bug Fixes

  • #1243 Fixed issue where symlink was not working for ADLS accounts.
  • #1259 sync-to-flush will force upload the file contents to container.
  • #1285 Rename directory fails for blob accounts when marker blob does not exist for source directory.
  • #1284 Fixed truncate behavior for streaming write.
  • #1142 Fixed truncate behavior for streaming write.
  • Randomize token refresh interval for MSI and SPN to support multi-instance deployment.