Browse Source

Merge pull request #120 from trapexit/policies-xattr

add user.mergerfs.policies xattr
pull/121/head
Antonio SJ Musumeci 9 years ago
parent
commit
adf983c8c3
  1. 14
      src/getxattr.cpp
  2. 3
      src/listxattr.cpp
  3. 3
      src/policy.hpp

14
src/getxattr.cpp

@ -122,6 +122,18 @@ _getxattr_controlfile_minfreespace(const Config &config,
attrvalue = buf; attrvalue = buf;
} }
static
void
_getxattr_controlfile_policies(const Config &config,
string &attrvalue)
{
size_t i = Policy::Enum::begin();
attrvalue = (string)Policy::policies[i];
for(i++; i < Policy::Enum::end(); i++)
attrvalue += ',' + (string)Policy::policies[i];
}
static static
int int
_getxattr_controlfile(const Config &config, _getxattr_controlfile(const Config &config,
@ -144,6 +156,8 @@ _getxattr_controlfile(const Config &config,
_getxattr_controlfile_srcmounts(config,attrvalue); _getxattr_controlfile_srcmounts(config,attrvalue);
else if(attr[2] == "minfreespace") else if(attr[2] == "minfreespace")
_getxattr_controlfile_minfreespace(config,attrvalue); _getxattr_controlfile_minfreespace(config,attrvalue);
else if(attr[2] == "policies")
_getxattr_controlfile_policies(config,attrvalue);
break; break;
case 4: case 4:

3
src/listxattr.cpp

@ -52,7 +52,8 @@ _listxattr_controlfile(char *list,
const vector<string> strs = const vector<string> strs =
buildvector<string> buildvector<string>
("user.mergerfs.srcmounts") ("user.mergerfs.srcmounts")
("user.mergerfs.minfreespace");
("user.mergerfs.minfreespace")
("user.mergerfs.policies");
xattrs.reserve(512); xattrs.reserve(512);
for(size_t i = 0; i < strs.size(); i++) for(size_t i = 0; i < strs.size(); i++)

3
src/policy.hpp

@ -60,6 +60,9 @@ namespace mergerfs
rand, rand,
END END
}; };
static size_t begin() { return BEGIN; }
static size_t end() { return END; }
}; };
struct Func struct Func

Loading…
Cancel
Save