Skip to content

Releases: Azure/azure-storage-fuse

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.

blobfuse2-2.1.1

31 Oct 07:39
78417a0
Compare
Choose a tag to compare

Bug Fixes

  • #1237 Fixed the case sensitivity of content type for file extensions.
  • #1230 Disable deletion of files from local-cache on sync. Use --ignore-sync cli option to enable this.
  • Rename API for HNS account now works with user delegation SAS
  • SAS token is redacted in logs for rename api over dfs endpoint
  • Allow user to configure custom AAD endpoint using MSI_ENPOINT environment variable for MSI based authentication
  • Fail mount if block-cache prefetch count exceeds the defined memory limits.
  • uid/gid supplied as CLI parameters will be shown as actual user/group while listing files.
  • Corrected handling of umask libfuse option.

Optimizations

  • Optimized file-cache to skip download when O_TRUNC flag is provided in open call.
  • Refresh token 5 minutes before the expiry instead of last 10 seconds.

Features

  • Sync in stream mode will force upload the file to storage container.
  • Fail Open and Write operations with file-cache if the file size exceeds the high threshold set with local cache limits.

blobfuse2-2.1.0

29 Aug 10:47
0909a77
Compare
Choose a tag to compare

Features

  • Added support for ARM64 architecture.
  • Block cache component added to support faster serial reads of large files with prefetching of blocks
    • Only read-only mounts will support block-cache
  • Adaptive prefetching to support random reads without incurring extra network cost
  • Block cache with disk backup to reduce network cost if same blocks are read again
  • On AML compute cluster MSI authentication is now supported (this will use the identity assigned to compute cluster)

Bug Fixes

  • Fix to evict the destination file from local cache post rename file operation.
  • If $PATH is not populated correctly, find out correct path for du command.
  • Disable kernel_cache and writeback_cache when direct_io is set.
  • Fix FUSE CLI parameter parsing, where CLI overrides parameters provided in config file.
  • #1226 If max disk-cache size is not configured, check the available disk space to kick-in early eviction.
  • #1230 Truncate file locally and then upload instead of downloading it again.

blobfuse2-2.0.5

02 Aug 06:29
3f756e4
Compare
Choose a tag to compare

Features

  • In case of MSI based authentication, user shall provide object-id of the identity and honour-acl flag for file-system to work with ACLs assigned to the given identity instead of permissions.
  • Added support to read OAuth token from a user given file.

Bug Fixes

  • Fixed priority level check of components to reject invalid pipeline entries.
  • #1196 100% CPU usage in 2.0.4 fixed.
  • #1207 Fix log-rotate script.
  • Unmount command was looking for fusermount while on fuse3 systems it should be looking for fusermount3.
  • If du command is not found skip checking for disk usage in LRU cache-eviction policy.
  • V1 flag of file-cache-timeout-in-seconds not interpreted correctly by V2 and causing eviction policy to assume its 0.
  • If du is not found on standard path try paths where it can potentially be found.
  • Fix uid/gid marshalling for mountv1 command, which was resulting in panic.

blobfuse2-2.0.4

03 Jul 06:04
9dfbd32
Compare
Choose a tag to compare

Features

  • Added new config parameter "max-fuse-threads" under "libfuse" config to control max threads allowed at libfuse layer.
  • Added new config parameter 'refresh-sec' in 'file-cache'. When file-cache-timeout is set to a large value, this field can control when to refresh the file if file in container has changed.
  • Added FUSE option direct_io to bypass the kernel cache and perform direct I/O operations.

Bug Fixes

  • #1116 Relative path for tmp-cache is resulting into file read-write failure.
  • #1151 Reason for unmount failure is not displayed in the console output.
  • Remove leading slashes from subdirectory name.
  • #1156 Reuse 'auth-resource' config to alter scope of SPN token.
  • #1175 Divide by 0 exception in Stream in case of direct streaming option.
  • #1161 Add more verbose logs for pipeline init failures
  • Return permission denied error for AuthorizationPermissionMismatch error from service.
  • #1187 File-cache path will be created recursively, if it does not exist.
  • Resolved bug related to constant 5% CPU usage even where there is no activity on the blobfuse2 mounted path.