summaryrefslogtreecommitdiff
path: root/src/unionfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/unionfs.c')
-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);