mirror of
https://github.com/trapexit/mergerfs.git
synced 2024-11-29 03:48:23 +08:00
Merge pull request #1125 from trapexit/scheduling-priority
Allow setting of scheduling priority
This commit is contained in:
commit
24f2d3c94d
|
@ -1,6 +1,6 @@
|
|||
% mergerfs(1) mergerfs user manual
|
||||
% Antonio SJ Musumeci <trapexit@spawn.link>
|
||||
% 2023-01-24
|
||||
% 2023-01-25
|
||||
|
||||
# NAME
|
||||
|
||||
|
@ -203,6 +203,9 @@ These options are the same regardless of whether you use them with the `mergerfs
|
|||
`read-thread-count` refers to the number of threads reading FUSE
|
||||
messages which are dispatched to process threads. -1 means disabled
|
||||
otherwise acts like `read-thread-count`. (default: -1)
|
||||
* **scheduling-priority=INT**: Set mergerfs' scheduling
|
||||
priority. Valid values range from -20 to 19. See `setpriority` man
|
||||
page for more details. (default: -10)
|
||||
* **fsname=STR**: Sets the name of the filesystem as seen in
|
||||
**mount**, **df**, etc. Defaults to a list of the source paths
|
||||
concatenated together with the longest common prefix removed.
|
||||
|
|
|
@ -64,6 +64,7 @@ namespace l
|
|||
IFERT("readdirplus");
|
||||
IFERT("threads");
|
||||
IFERT("version");
|
||||
IFERT("scheduling-priority");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -103,6 +104,7 @@ Config::Config()
|
|||
readdir(ReadDir::ENUM::POSIX),
|
||||
readdirplus(false),
|
||||
rename_exdev(RenameEXDEV::ENUM::PASSTHROUGH),
|
||||
scheduling_priority(-10),
|
||||
security_capability(true),
|
||||
srcmounts(branches),
|
||||
statfs(StatFS::ENUM::BASE),
|
||||
|
@ -171,6 +173,7 @@ Config::Config()
|
|||
// _map["readdir"] = &readdir;
|
||||
_map["readdirplus"] = &readdirplus;
|
||||
_map["rename-exdev"] = &rename_exdev;
|
||||
_map["scheduling-priority"] = &scheduling_priority;
|
||||
_map["security_capability"] = &security_capability;
|
||||
_map["srcmounts"] = &srcmounts;
|
||||
_map["statfs"] = &statfs;
|
||||
|
|
|
@ -133,6 +133,7 @@ public:
|
|||
ReadDir readdir;
|
||||
ConfigBOOL readdirplus;
|
||||
RenameEXDEV rename_exdev;
|
||||
ConfigINT scheduling_priority;
|
||||
ConfigBOOL security_capability;
|
||||
SrcMounts srcmounts;
|
||||
StatFS statfs;
|
||||
|
@ -145,6 +146,7 @@ public:
|
|||
ConfigBOOL writeback_cache;
|
||||
XAttr xattr;
|
||||
|
||||
|
||||
public:
|
||||
friend std::ostream& operator<<(std::ostream &s,
|
||||
const Config &c);
|
||||
|
|
|
@ -139,15 +139,13 @@ namespace l
|
|||
|
||||
static
|
||||
void
|
||||
setup_resources(void)
|
||||
setup_resources(const int scheduling_priority_)
|
||||
{
|
||||
const int prio = -10;
|
||||
|
||||
std::srand(time(NULL));
|
||||
resources::reset_umask();
|
||||
resources::maxout_rlimit_nofile();
|
||||
resources::maxout_rlimit_fsize();
|
||||
resources::setpriority(prio);
|
||||
resources::setpriority(scheduling_priority_);
|
||||
}
|
||||
|
||||
static
|
||||
|
@ -204,7 +202,7 @@ namespace l
|
|||
if(cfg->branches_mount_timeout > 0)
|
||||
l::wait_for_mount(cfg);
|
||||
|
||||
l::setup_resources();
|
||||
l::setup_resources(cfg->scheduling_priority);
|
||||
l::get_fuse_operations(ops,cfg->nullrw);
|
||||
|
||||
return fuse_main(args.argc,
|
||||
|
|
Loading…
Reference in New Issue
Block a user