diff --git a/src/getxattr.cpp b/src/getxattr.cpp index 6b870ee4..2e511e76 100644 --- a/src/getxattr.cpp +++ b/src/getxattr.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include "config.hpp" #include "fs_path.hpp" @@ -152,6 +153,19 @@ _getxattr_controlfile_version(string &attrvalue) attrvalue = MERGERFS_VERSION; } +static +void +_getxattr_pid(string &attrvalue) +{ + int pid; + char buf[32]; + + pid = getpid(); + snprintf(buf,sizeof(buf),"%d",pid); + + attrvalue = buf; +} + static int _getxattr_controlfile(const Config &config, @@ -180,6 +194,8 @@ _getxattr_controlfile(const Config &config, _getxattr_controlfile_policies(config,attrvalue); else if(attr[2] == "version") _getxattr_controlfile_version(attrvalue); + else if(attr[2] == "pid") + _getxattr_pid(attrvalue); break; case 4: diff --git a/src/listxattr.cpp b/src/listxattr.cpp index 5aa9db11..9f9f2ac4 100644 --- a/src/listxattr.cpp +++ b/src/listxattr.cpp @@ -55,7 +55,8 @@ _listxattr_controlfile(char *list, ("user.mergerfs.minfreespace") ("user.mergerfs.moveonenospc") ("user.mergerfs.policies") - ("user.mergerfs.version"); + ("user.mergerfs.version") + ("user.mergerfs.pid"); xattrs.reserve(1024); for(size_t i = 0; i < strs.size(); i++)