Skip to content

Releases: Azure/azure-storage-fuse

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.

blobfuse2-2.0.3

27 Apr 10:06
945e826
Compare
Choose a tag to compare

Bug Fixes

  • #1080 HNS rename flow does not encode source path correctly.
  • #1081 Blobfuse will exit with non-zero status code if allow_other option is used but not enabled in fuse config.
  • #1079 Shell returns before child process mounts the container and if user tries to bind the mount it leads to inconsistent state.
  • If mount fails in forked child, blobfuse2 will return back with status error code.
  • #1100 If content-encoding is set in blob then transport layer compression shall be disabled.
  • Subdir mount is not able to list blobs correctly when virtual-directory is turned on.
  • Adding support to pass down uid/gid values supplied in mount to libfuse.
  • #1102 Remove nanoseconds from file times as storage does not provide that granularity.
  • #1113 Allow-root option is not sent down to libfuse.

Features

  • Added new CLI parameter "--sync-to-flush". Once configured sync() call on file will force upload a file to storage container. As this is file handle based api, if file was not in file-cache it will first download and then upload the file.
  • Added new CLI parameter "--disable-compression". Disables content compression at transport layer. Required when content-encoding is set to 'gzip' in blob.

blobfuse2-2.0.2

23 Feb 20:40
849ebcd
Compare
Choose a tag to compare

Bug Fixes

  • #999 Upgrade dependencies to resolve known CVEs.
  • #1002 In case version check fails to connect to public container, dump a log to check network and proxy settings.
  • #1006 Remove user and group config from logrotate file.
  • kubernetes-sigs/blob-csi-driver#809 Fail to mount when uid/gid are provided on command line.
  • #1032 mount all CLI params parsing fix when no config-file and tmp-path is provided.
  • #1015 Default value of ignore-open-flags config parameter changed to true.
  • #1038 Changing default daemon permissions.
  • #1036 Fix to avoid panic when $HOME dir is not set.
  • #1036 Respect --default-working-dir cli param and use it as default log file path.
  • If version check fails due to network issues, mount/mountall/mountv1 command used to terminate. From this release it will just emit an error log and mount will continue.
  • If default work directory does not exists, mount shall create it before daemonizing.
  • Default value of 'virtual-directory' is changed to true. If your data is created using Blobfuse or AzCopy pass this flag as false in mount command.

blobfuse2-2.0.1

02 Dec 20:59
8ab54d9
Compare
Choose a tag to compare

Copy of GA release of Blobfuse2. This release was necessary to ensure the GA version resolves ahead of the preview versions.

blobfuse2-2.0.0

30 Nov 06:47
0410752
Compare
Choose a tag to compare

GA Release

Bug Fixes

  • #968 Duplicate directory listing
  • #964 Rename for FNS account failing with source does not exists error
  • #972 Mount all fails
  • Added support for "-o nonempty" to mount on a non-empty mount path
  • #985 fuse required when installing blobfuse2 on a fuse3 supported system

Breaking Changes

  • Defaults for retry policy changed. Max retries: 3 to 5, Retry delay: 3600 to 900 seconds, Max retry delay: 4 to 60 seconds

Features

  • Added new CLI parameter "--subdirectory=" to mount only a subdirectory from given container

blobfuse2-2.0.0-preview.4

03 Nov 10:14
f64b872
Compare
Choose a tag to compare

Breaking Changes

  • Renamed ignore-open-flag config parameter to ignore-open-flags to match CLI parameter
  • Renamed health-monitor section in config file to health_monitor

Features

  • Added support for health-monitor stop --pid=<pid> and health-monitor stop all commands
  • Added support to work with virtual directories without special marker directory using the virtual-directory config option.
  • Added support for object ID support for MSI credentials
  • Added support for system assigned IDs for MSI credentials

Bug Fixes

  • Auto detect auth mode based on storage config
  • Auto correct endpoint for public cloud
  • In case of invalid option or failure CLI to return non-zero return code
  • ignore-open-flags CLI parameter is now correctly read
  • #921: Mount using /etc/fstab fixed
  • Fixed a bug where mount all required a config file
  • #942: List api failing when backend does not return any item but only a valid token
  • Fix bug in SDK trace logging which prints (MISSING) in log entries

blobfuse2-2.0.0-preview.3

02 Sep 16:17
23e7af7
Compare
Choose a tag to compare

Features

  • Added support to stream writes with caching
  • Added Health monitor to keep track of blobfuse health in terms of resource consumption and operations being performed
  • Added support for directory level SAS while mounting a subdirectory
  • Added support for updating MD5 sum on file upload
  • Added support for validating MD5 sum on download
  • Added support for displaying mount space utilization based on file cache consumption (for example when doing df)
  • Added backwards compatibility support for all blobfuse v1 CLI options
  • Added support to allow disabling writeback cache if a customer is opening a file with O_APPEND or O_WRONLY
  • Added support to ignore append or write only flags on open when writeback cache is on

Bug Fixes

  • Fixed a bug in parsing output of disk utilization summary
  • Fixed a bug in parsing SAS token not having '?' as first character
  • Fixed a bug in append file flow resolving data corruption
  • Fixed a bug in MSI auth to send correct resource string
  • Fixed a bug in OAuth token parsing when expires_on denotes numbers of seconds
  • Fixed a bug in rmdir flow. Dont allow directory deletion if local cache says its empty. On container it might still have files.
  • Fixed a bug in background mode where auth validation would be run twice
  • Fixed a bug in content type parsing for a 7z compressed file
  • Fixed a bug in retry logic to retry in case of server timeout errors

blobfuse-1.4.5

08 Aug 10:44
94bfeba
Compare
Choose a tag to compare

Bug Fixes:

  • Deletion of directory for Gen2 (HNS) account goes through even if directory is not empty. This results into failure of certain commands like git stash and git status. Added check to delete only empty directories.

Features:

  • Added --debug-libcurl=true option to enable libcurl debug logs.

blobfuse2-2.0.0-preview.2

09 Jun 16:54
Compare
Choose a tag to compare
Pre-release

Performance Improvements

  • fio: Outperforms blobfuse by 10% in sequential reads

Features

  • Added support for Debian 11 and Mariner OS
  • Added support to load an external extension library
  • Added support to mount without a config file
  • Added support to preserve file metadata
  • Added support to preserve additional principals added to the ACL
  • Added support to stream writes (without caching)
  • Added support to warn customers if using a vulnerable version of Blobfuse2
  • Added support to warn customers if using an older version of Blobfuse2
  • Added support for . and .. in listing

Breaking Changes

  • Changed default logging to syslog if the syslog service is running, otherwise file based

Bug Fixes

  • Fixed a bug that caused reads to be shorter than expected
  • Fixed bug where remount on empty containers was not throwing error when the mount path has trailing '/'
  • Fixed a bug where the DIRECT flag was not masked out
  • Fixed a bug where files > 80GB would fail to upload when block size is not explicitly set
  • Fixed a bug where the exit status was 0 despite invalid flags being passed
  • Fixed bug where endpoint would be populated incorrectly when passed as environment variable
  • Fixed a bug where mounting to an already mounted path would not fail
  • Fixed a bug where newly created datalake files > 256MB would fail to upload
  • Fixed a bug that caused parameters explicitly set to 0 to be the default value
  • Fixed a bug where df command showed root stats rather than Blobfuse mount file cache stats

blobfuse-1.4.4

01 Jun 20:27
996b195
Compare
Choose a tag to compare

Bug Fixes:

#767 : Large file download failing, as each individual block request is trying for 10GB data in single request
#718 : Do not retry 30 times for 403 error (auth failure) in case of directory listing