Releases: Azure/azure-storage-fuse
Releases · Azure/azure-storage-fuse
blobfuse2-2.5.0-preview.1
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
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. Configuretenant-id, client-id, aad-application-id and security scope
withauthMode
set toworkloadidentity
. - Use
AZURE_STORAGE_SERVICE_API_VERSION
to override thex-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
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
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
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
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
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
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
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
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.