summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadek Podgorny <radek@podgorny.cz>2014-03-20 19:17:46 +0100
committerRadek Podgorny <radek@podgorny.cz>2014-03-20 19:17:46 +0100
commit9e58f0443540321966f08458fe04cc03c0fd12fe (patch)
treeda5643f7dcc4efa205d0282a09d26de846342bd1
parenta9315f19e6416bf9421c1d18813dff6f5eeaceee (diff)
downloadunionfs-fuse-9e58f0443540321966f08458fe04cc03c0fd12fe.tar.gz
return ENOTSUP for xattr calls for stats file
-rw-r--r--src/unionfs.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/unionfs.c b/src/unionfs.c
index 52543f4..c4f463d 100644
--- a/src/unionfs.c
+++ b/src/unionfs.c
@@ -719,6 +719,10 @@ static int unionfs_getxattr(const char *path, const char *name, char *value, siz
#endif
DBG("%s\n", path);
+ if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) {
+ RETURN(-ENOTSUP);
+ }
+
int i = find_rorw_branch(path);
if (i == -1) RETURN(-errno);
@@ -739,6 +743,10 @@ static int unionfs_getxattr(const char *path, const char *name, char *value, siz
static int unionfs_listxattr(const char *path, char *list, size_t size) {
DBG("%s\n", path);
+ if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) {
+ RETURN(-ENOTSUP);
+ }
+
int i = find_rorw_branch(path);
if (i == -1) RETURN(-errno);
@@ -759,6 +767,10 @@ static int unionfs_listxattr(const char *path, char *list, size_t size) {
static int unionfs_removexattr(const char *path, const char *name) {
DBG("%s\n", path);
+ if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) {
+ RETURN(-ENOTSUP);
+ }
+
int i = find_rw_branch_cow(path);
if (i == -1) RETURN(-errno);
@@ -783,6 +795,10 @@ static int unionfs_setxattr(const char *path, const char *name, const char *valu
#endif
DBG("%s\n", path);
+ if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) {
+ RETURN(-ENOTSUP);
+ }
+
int i = find_rw_branch_cow(path);
if (i == -1) RETURN(-errno);