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 norenameapi = false;
|
||||||
static bool nonempty = false;
|
static bool nonempty = false;
|
||||||
static bool allow_other = false;
|
static bool allow_other = false;
|
||||||
|
static bool fuse_read_mode_set = false;
|
||||||
static bool load_iamrole = false;
|
static bool load_iamrole = false;
|
||||||
static uid_t s3fs_uid = 0;
|
static uid_t s3fs_uid = 0;
|
||||||
static gid_t s3fs_gid = 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;
|
allow_other = true;
|
||||||
return 1; // continue for fuse option
|
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=")){
|
if(0 == STR2NCMP(arg, "mp_umask=")){
|
||||||
mp_umask = strtol(strchr(arg, '=') + sizeof(char), NULL, 0);
|
mp_umask = strtol(strchr(arg, '=') + sizeof(char), NULL, 0);
|
||||||
mp_umask &= (S_IRWXU | S_IRWXG | S_IRWXO);
|
mp_umask &= (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||||
@ -4925,6 +4930,15 @@ int main(int argc, char* argv[])
|
|||||||
exit(EXIT_FAILURE);
|
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]
|
// [NOTE]
|
||||||
// exclusive option check here.
|
// exclusive option check here.
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user