diff --git a/README.md b/README.md index f5ac9842..6ac42ac2 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ These options are the same regardless of whether you use them with the * **flush-on-close=never|always|opened-for-write**: Flush data cache on file close. Mostly for when writeback is enabled or merging network filesystems. (default: opened-for-write) - * **scheduling-priority=INT**: Set mergerfs' scheduling +* **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 diff --git a/src/config.cpp b/src/config.cpp index 3ea81954..644d0d92 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -110,7 +110,6 @@ Config::Config() nfsopenhack(NFSOpenHack::ENUM::OFF), nullrw(false), parallel_direct_writes(false), - pid(::getpid()), posix_acl(false), readahead(0), readdir("seq"), diff --git a/src/config.hpp b/src/config.hpp index a9804358..002adb5a 100644 --- a/src/config.hpp +++ b/src/config.hpp @@ -21,6 +21,7 @@ #include "config_cachefiles.hpp" #include "config_flushonclose.hpp" #include "config_follow_symlinks.hpp" +#include "config_pid.hpp" #include "config_inodecalc.hpp" #include "config_link_exdev.hpp" #include "config_log_metrics.hpp" @@ -134,7 +135,7 @@ public: NFSOpenHack nfsopenhack; ConfigBOOL nullrw; ConfigBOOL parallel_direct_writes; - ConfigUINT64 pid; + ConfigGetPid pid; ConfigBOOL posix_acl; ConfigUINT64 readahead; FUSE::ReadDir readdir; diff --git a/src/config_pid.hpp b/src/config_pid.hpp new file mode 100644 index 00000000..4023db6e --- /dev/null +++ b/src/config_pid.hpp @@ -0,0 +1,42 @@ +/* + ISC License + + Copyright (c) 2023, Antonio SJ Musumeci + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#pragma once + +#include "tofrom_string.hpp" +#include "fmt/core.h" + +#include +#include + + +class ConfigGetPid : public ToFromString +{ +public: + std::string + to_string() const final + { + return fmt::format("{}",::getpid()); + } + + int + from_string(const std::string &) final + { + return -EROFS; + } +};