From 8b976ab3c149deada2817cb4a766fbaa0d985d4c Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Tue, 11 Apr 2017 09:23:40 -0400 Subject: [PATCH] support older libfuse without utime_omit_ok flag --- Makefile | 2 ++ src/mergerfs.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 895615e7..dc9ed956 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,7 @@ $(error "FUSE development package doesn't appear available") endif FLAG_NOPATH = $(shell $(CPPFIND) "flag_nopath") +FLAG_UTIME = $(shell $(CPPFIND) "flag_utime_omit_ok") FALLOCATE = $(shell $(CPPFIND) "fuse_fs_fallocate") FLOCK = $(shell $(CPPFIND) "fuse_fs_flock") READ_BUF = $(shell $(CPPFIND) "fuse_fs_read_buf") @@ -74,6 +75,7 @@ CFLAGS = -g -Wall \ -DFUSE_USE_VERSION=29 \ -MMD \ -DFLAG_NOPATH=$(FLAG_NOPATH) \ + -DFLAG_UTIME=$(FLAG_UTIME) \ -DFALLOCATE=$(FALLOCATE) \ -DFLOCK=$(FLOCK) \ -DREAD_BUF=$(READ_BUF) \ diff --git a/src/mergerfs.cpp b/src/mergerfs.cpp index 5f053cbc..ddf9aa7f 100644 --- a/src/mergerfs.cpp +++ b/src/mergerfs.cpp @@ -71,11 +71,13 @@ namespace local get_fuse_operations(struct fuse_operations &ops, const bool direct_io) { + ops.flag_nullpath_ok = false; #if FLAG_NOPATH ops.flag_nopath = false; #endif - ops.flag_nullpath_ok = false; +#if FLAG_UTIME ops.flag_utime_omit_ok = true; +#endif ops.access = mergerfs::fuse::access; ops.bmap = NULL;