mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-11-18 02:05:13 +00:00
enable FUSE read_sync by default
This commit is contained in:
parent
4a72b60707
commit
86b0921ac4
14
src/s3fs.cpp
14
src/s3fs.cpp
@ -120,6 +120,7 @@ static bool nocopyapi = false;
|
||||
static bool norenameapi = false;
|
||||
static bool nonempty = false;
|
||||
static bool allow_other = false;
|
||||
static bool fuse_read_mode_set = false;
|
||||
static bool load_iamrole = false;
|
||||
static uid_t s3fs_uid = 0;
|
||||
static gid_t s3fs_gid = 0;
|
||||
@ -4355,6 +4356,10 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar
|
||||
allow_other = true;
|
||||
return 1; // continue for fuse option
|
||||
}
|
||||
if(0 == strcmp(arg, "sync_read") || 0 == strcmp(arg, "async_read")){
|
||||
fuse_read_mode_set = true;
|
||||
return 1; // continue for fuse option
|
||||
}
|
||||
if(0 == STR2NCMP(arg, "mp_umask=")){
|
||||
mp_umask = strtol(strchr(arg, '=') + sizeof(char), NULL, 0);
|
||||
mp_umask &= (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
@ -4925,6 +4930,15 @@ int main(int argc, char* argv[])
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// s3fs read is sync (fdent_lock is locked while reading)
|
||||
// FUSE is async read by default
|
||||
// switch FUSE to sync read to avoid hitting FUSE's max_background limit
|
||||
// as well as to make sure that big read requests that are splitted by the kernel
|
||||
// are always read in-order
|
||||
if (!fuse_read_mode_set && 0 != fuse_opt_add_arg(&custom_args, "-osync_read")){
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// [NOTE]
|
||||
// exclusive option check here.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user