Граф коммитов

83 Коммитов

Автор SHA1 Сообщение Дата
Gauri Prasad 3802cdd853
Added subcommands to health monitor (#916) 2022-09-29 10:28:20 -07:00
Vikas Bhansali dba6ed537b
Adding UT for mount all and gen1fuse CLIs (#909)
* Adding more test cases for mount all and gen1 fuse

* Reset flag when its done
2022-09-27 08:41:00 +05:30
Tamer Sherif 770e1f523e
Stream Filename Caching Support (#871)
* filename caching

* filename caching

* locking

* resolved some feedback comments

* baseconfig changes

* fixed tests

* added tests

* comments

* added comments
2022-09-26 12:42:25 -07:00
Sourav Gupta 719d81a434
Unit tests for mount, mountv1 and doc commands (#897) 2022-09-12 11:30:34 +05:30
Sourav Gupta 43e88d02f5
Readme for health monitor (#899)
Adding readme for health monitor
2022-09-12 11:11:51 +05:30
Gauri Prasad f067d5ca23
Clean up exit 1 errors for blobfuse2 (#893) 2022-09-08 13:09:32 -07:00
Sourav Gupta 6ba1e91a7e
Expand path (#880)
Expanding tilde(~) character in mount, config file or cache paths
2022-09-01 19:30:08 +05:30
Gauri Prasad 1978243d43
Added supported v1 CLI parameters to v2 (#881) 2022-08-31 12:12:14 -07:00
Sourav Gupta 0ac75c29e7
Health monitor (#868)
Adding health monitor for blobfuse2
Co-authored-by: vibhansa-msft <vibhansa@microsoft.com>
2022-08-27 19:47:39 +05:30
Gauri Prasad 39fd5969d6
Miscellaneous Tests (#855)
* test non default file and dir

* added test default

* remove unused code

* Add encrypt decrypt test

* Added negative test case

* Add some directory exists cases

* Add secure config

* remove file that does not work

* Added more secure tests

* use new cov file

* add more coverage to keys tree

* negative coverage for parse value

* secure set to simulate config change
2022-08-05 09:12:36 -07:00
Vikas Bhansali 4f805cc1ab
Adding code linting (#844)
* Adding Ubn-22 to pipelines

* Adding lint as standard ci step

* correcting lint command path

* Add copyright checks to ci pipeline

* Copyright fixes and ci check for copyright statements

* Adding go format check to CI

* Fixing some lint issues

* More lint fixes

* More lint fixes

* Fixing some lint issues

* Correcting code linting check in ci

* correcting lint status check

* correcting lint status check

* correcting lint status check

* correcting lint status check

* correcting lint status check

* correcting lint status check

* correcting lint status check

* correcting bugs reported by sa check

* notices_fix.sh update

* Add step to validate NOTICE file

* Add step to release for ubn-22

* Add logs for success

* Fixing copyright bug

* Correcting tag formats

* Correcting percentage check

* Spell error correction

* Ignore exectime from code coverage

* Correcting log string

* Removing dead file

* Correcting go format error
2022-07-28 10:09:41 +05:30
Sourav Gupta 35cf5ff4a2
Module name fix (#847)
* Correcting module name

* Changing module name

* Adding output binary name in go build
2022-07-27 12:19:36 +05:30
Gauri Prasad 1566734ec3
Background auth validation fix (#845) 2022-07-26 22:05:32 -07:00
Vikas Bhansali 87f15a3e65
Vibhansa/v2/resource msi change (#829)
* Correcting resource string for MSI token reterival

* Changelog updated

* Making resource to always point to storage.azure.com string

* Make resource string a configurable options for OAuth token retreival

* Bumping up autorest version as token parsing has issue when expires_on comes as integer

* Updaing token parsing error in changelog

* Skip msiEndpoint from v1 config as its not supported in v2
2022-07-08 10:20:24 +05:30
Gauri Prasad d48dc0776b
Migrated Release pipeline to 1ES Hosted Pools (#824) 2022-06-30 09:01:07 -07:00
Tamer Sherif 590bd54f9c
Added doc generation command (#809)
* Added doc generation command

* make command hidden
2022-06-14 11:54:56 -07:00
Sourav Gupta 2e47d01eb2
Adding disable version check flag only once (#795) 2022-06-06 10:54:55 +05:30
Vikas Bhansali 597f15821e
Native (C) pread/pwrite to improve performance (#752)
* Adding more fuse options for optimization

* Correcting logs for fuse3

* Removing nullpath feature as fuse3 does not support it

* Remove symlink cache as fuse3 does not support that

* Convert expected err log to warn

* Removing dead code

* Try file read using native C api

* Try early pread to improve perf

* Adding dynamic profiler and disable native pread call

* Log error when profiler fails to start

* Try prefetching data into memory for disk-file

* Make dynamic profiler available in both foreground and daemon mode

* Move read/write call to native calls

* Add call to update the file-cache when native read/writes are invoked

* Remove cache updating call for better perf

* Remove readahead logic from file-cache

* Clear handle map dead code

* convert fd to uint64 instead of int

* Adding basic infra for read ahead in native code

* Clean up code, remove read-ahead logic and make direct read the default option

* Correcting the flag name for offload-io

* Correcting spell mistakes and adding comments

* Correcting fsync test failure

* Correct fuse3 UT for fsync and handle conversion

* Resolve compilation failure for filehandle struct

* Add logic to update the cache on every 1K operations on a handle

* Resolve failure with flush when native write is enable

* Add read-ahead logic in native code

* Compilation failure resolution on fuse2

* Correcting memset params

* Correcting spell error

* Add GOGC and MAXPROCS value for perf tuning

* Reduce min file size and correct read ahead buffer size for smaller fiels

* Replace fsync with close of duplciate handle

* Correcting write flow file corruption issue

* Handle write in file-cache instead of libfuse as the other approach is corrupting data somewhere

* File-cache to refresh cache on eveyr 1K operations and data validation test to wait for 2 seconds after copy

* Replace file-cache read/write calls with syscalls

* Enable native read/write again with read ahead disabled

* Remove cache update from read calls

* Remove read ahead logic completly

* Cleanup libfuse compo and e2e test changes

* Delete emptry directories recursively till root

* Changes as per review comments

* Fix issue with block-size running into overflow of number of blocks

* Add blocksize and file size to logs

* Make blocksize function to work on file size instead of fi object and add UT for blocksize calculations

* Adding more ut case

* Add some breather between upload and test

* FileCacheTimeout test case to wait untill file is deleted from local system

* FileCacheTimeout test case to wait untill file is deleted from local system

* Codespell error fix

* Restructuring code as per review comments and internal discussions

* Code spell fixes

* Stop updating cache on read

* Adjusting cache update operation counter

* Correcting libfuse_read flow and adding option to enable offload option manually

* Correcting file_cache UT configs

* Adding dynamic profiler config in base config
2022-05-19 10:32:23 +05:30
Tamer Sherif 1f339ff0dd
Deprecate using 3rd party eviction policies (#769)
* Optimized Streaming

* close handle fix

* locking

* fixed tests

* cleanup

* Deprecate eviction library

* more cleanup

* remove timeout

* fix

* cleanup

* fixed bug

* fixed bug

* added purge

* added purge

* added purge

* added purge

* comment cleanup

* comment cleanup

* removed lock and added tests

* cleanup

* added handle buffer check

* cleanup - feedback

* moved to new dir
2022-04-28 10:43:01 -07:00
Gauri Prasad 4b64cb712a
Set flag parsing to exit on error to ensure exit status is non zero (#762) 2022-04-15 16:35:57 -07:00
Vikas Bhansali 50c2267008
Fixing pipeline issue where providing config file is leading to a mount failure (#749) 2022-03-26 12:28:59 +05:30
Vikas Bhansali b1ff604a39
Vibhansa/v2/noconfigfile (#747)
* Allow blobfuse2 to mount without config file, in case all required params are set as env variables

* Updating readme for perf comparison with v1

* Removing test code

* Changes as per review comments

* Corrected perf numbers in readme
2022-03-25 10:54:41 +05:30
Gauri Prasad 15b68d598a
Fixed some codespell errors (#745)
Co-authored-by: Gauri Prasad <gapra@microsoft.com>
2022-03-23 11:00:13 -07:00
Sourav Gupta b466677539
Gen1 mount using adlsgen1fuse (#721)
* Adding code for gen1 mount with datasetfuse

* Creating pipeline for adlsgen1fuse

* Adding unit test cases

* Adding sample datasetfuse config file
2022-03-16 10:45:23 +05:30
Gauri Prasad 7cd6fbe554
Fixed bug where endpoint is populated incorrectly when passed as envi… (#730)
* Fixed bug where endpoint is populated incorrectly when passed as environment variable

* Fixed unit tests

Co-authored-by: Gauri Prasad <gapra@microsoft.com>
2022-03-15 08:40:39 -07:00
Sourav Gupta 3afd9a2ae3
Adding version and security warnings check (#726)
* Changes for checking version and showing warnings

* Using sas url for version container

* Checking only the status code

* Pointing to blobfuse2

* Having python script instead of keeping it inline
2022-03-15 09:59:21 +05:30
Vikas Bhansali d9ffe5cba9
chmod fix to preserve additional principals added to to ACL (#727)
* chmod shall result into SetAccessControl call with permissions and not ACL to preserve the existing principals added to the file

* Adding loopbackfs config to base config
2022-03-11 09:11:05 +05:30
Vikas Bhansali ba1a18c34d
Double mount validation corrected and error string generalised (#722)
Double mount validation corrected and error string generalised
2022-03-10 09:18:05 +05:30
Gauri Prasad dd401750a3
Fixed bug where some user provided values that can be set to 0 were s… (#714)
* Fixed bug where some user provided values that can be set to 0 were set to default value

* Addressed comments

* Fixed unit test for file cache empty config

* Allow for cli params to be set to 0

* Fixed defaults and merged isSet

* Added test

Co-authored-by: Gauri Prasad <gapra@microsoft.com>
2022-03-07 10:23:52 -08:00
Vikas Bhansali 870fb10955
Block level disk cache for read streaming (#706)
* Correcting UT for disk cache

* Sync with main and review comment addressed

* Keeping default persisted block timeout to 30 mins

* changes as per review comments

* adding comments to UT for disk-persistence

* Copyright info update
2022-03-03 09:57:11 +05:30
Vikas Bhansali 1aea8449ba
Perf and Memory Optimizations (#704)
* First commit of blobfuse v2 code

* Adding hadle optimization for v2

* Making direct read a configurable option, disabled by default

* Rearrange structures to reduce padding and save memory

* Correcting attr-cache UT for flag changes

* Merging file-cache-test

* Make flag check a function

* Adding comments to handle methods

* Adding more fuse options for optimization

* Adding more fuse options for optimization

* Removing exectime from red flows

* Correcting profiling code to work for both cpu and memory

* Cleanup old pprof reports

* Adding error log for policy local file removal case and adding 10mil max file limit in attr-cache

* Correcting file-cache UT for notInCache cases

* Correcting libfuse UT to get handle object out of open return parameters

* Addressing review comments

* Removing 7.5 old curl from nightly as it does not make sense for v2 to test different curl versions

* Tuning fuse parameters for better perf

* Fuse parameter tuning

* Removing some fuse options as mount is failing on some platforms

* Exit pipeline stage if mount failed

* Populate fuse connection flag based on kernel capabilities

* Log kernel fuse capabilities and the one chosen by blobfuse on given platform

* Fail pipeline if blobfuse2 binary is not found in df output

* Wait for some time for mount to go through before validating

* Correcting validation of mount point

* Correcting validation of mount point

* Use fuse2 on Deb-10 as with fuse3 we are not able to mount on that distro

* Update mount validation for huge listing

* Image signing to happen only when release option is chosen

Co-authored-by: Gauri Prasad <gapra@microsoft.com>
Co-authored-by: Ubuntu <vibhansa@vibhansa-perftest.l1vcg1e4u55e3gwz1dsfkxy2if.tx.internal.cloudapp.net>
2022-02-19 15:56:43 +05:30
Sourav Gupta 7004fdbb3d
Showing warnings for old versions (#697)
Change for showing warnings to the user if they are using older version of blobfuse2
2022-02-16 12:14:03 +05:30
Gauri Prasad 990af0fefa First commit of blobfuse v2 code 2022-02-14 09:41:31 -08:00