add user.mergerfs.version xattr

This commit is contained in:
Antonio SJ Musumeci 2015-09-05 21:48:15 -04:00
parent adf983c8c3
commit b22528bac4
3 changed files with 21 additions and 3 deletions

View File

@ -106,7 +106,7 @@ help:
@echo "usage: make"
@echo "make XATTR_AVAILABLE=0 - to build program without xattrs functionality (auto discovered otherwise)"
$(TARGET): obj/obj-stamp $(OBJ)
$(TARGET): src/version.hpp obj/obj-stamp $(OBJ)
$(CXX) $(CFLAGS) $(OBJ) -o $@ $(LDFLAGS)
clonepath: $(TARGET)
@ -118,6 +118,13 @@ changelog:
authors:
$(GIT) log --format='%aN <%aE>' | sort -f | uniq > AUTHORS
src/version.hpp:
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
@echo "#ifndef _VERSION_HPP" > src/version.hpp
@echo "#define _VERSION_HPP" >> src/version.hpp
@echo "static const char MERGERFS_VERSION[] = \"$(VERSION)\";" >> src/version.hpp
@echo "#endif" >> src/version.hpp
obj/obj-stamp:
$(MKDIR) -p obj
$(TOUCH) $@
@ -163,7 +170,7 @@ $(MANPAGE): README.md
man: $(MANPAGE)
tarball: clean man changelog authors
tarball: clean man changelog authors src/version.hpp
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
$(eval VERSION := $(subst -,_,$(VERSION)))
$(eval FILENAME := $(TARGET)-$(VERSION))

View File

@ -40,6 +40,7 @@
#include "rwlock.hpp"
#include "xattr.hpp"
#include "str.hpp"
#include "version.hpp"
using std::string;
using std::vector;
@ -134,6 +135,13 @@ _getxattr_controlfile_policies(const Config &config,
attrvalue += ',' + (string)Policy::policies[i];
}
static
void
_getxattr_controlfile_version(string &attrvalue)
{
attrvalue = MERGERFS_VERSION;
}
static
int
_getxattr_controlfile(const Config &config,
@ -158,6 +166,8 @@ _getxattr_controlfile(const Config &config,
_getxattr_controlfile_minfreespace(config,attrvalue);
else if(attr[2] == "policies")
_getxattr_controlfile_policies(config,attrvalue);
else if(attr[2] == "version")
_getxattr_controlfile_version(attrvalue);
break;
case 4:

View File

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