Browse Source
Merge pull request #1280 from trapexit/getpid
Fix user.mergerfs.pid
pull/1294/head
2.38.1
trapexit
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
45 additions and
3 deletions
-
README.md
-
src/config.cpp
-
src/config.hpp
-
src/config_pid.hpp
|
|
@ -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 |
|
|
|
|
|
@ -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"), |
|
|
|
|
|
@ -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; |
|
|
|
|
|
@ -0,0 +1,42 @@ |
|
|
|
/*
|
|
|
|
ISC License |
|
|
|
|
|
|
|
Copyright (c) 2023, Antonio SJ Musumeci <trapexit@spawn.link> |
|
|
|
|
|
|
|
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 <sys/types.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
|
|
|
|
class ConfigGetPid : public ToFromString |
|
|
|
{ |
|
|
|
public: |
|
|
|
std::string |
|
|
|
to_string() const final |
|
|
|
{ |
|
|
|
return fmt::format("{}",::getpid()); |
|
|
|
} |
|
|
|
|
|
|
|
int |
|
|
|
from_string(const std::string &) final |
|
|
|
{ |
|
|
|
return -EROFS; |
|
|
|
} |
|
|
|
}; |