Files
jabberwocky238 d7e4fc73b1 phase2: COW append-only backend (segment diff + in-memory VFS)
- store: data.raw append-only / read-by-offset / fsync
- meta: Segment/VersionDiff/FileView/FileMeta + segment-list update (append/overwrite/truncate/extend) + in-memory directory tree
- fuse_ops: all callbacks route through COW backend; per-write Segment logging (op/phys_off/log_off/size)
- tests/phase2.sh: 5 write scenarios + sqlite + dir ops, 24/24 pass

Metadata in-memory (restart-lost; persistence phase 5); data.raw retains superseded bytes pending GC. cur cache / aggregation / multi-block land in phase 3.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-07 00:52:33 +08:00

23 lines
560 B
Makefile

CXX ?= g++
CXXFLAGS ?= -std=c++17 -O2 -g -Wall -Wextra -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -pthread
FUSE_CFLAGS := $(shell pkg-config --cflags fuse3)
FUSE_LIBS := $(shell pkg-config --libs fuse3)
TARGET := etvd_fuse
SRCS := src/main.cpp src/fuse_ops.cpp src/store.cpp src/meta.cpp
OBJS := $(SRCS:.cpp=.o)
HEADERS := $(wildcard src/*.h)
.PHONY: all clean
all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) $(OBJS) -o $@ $(FUSE_LIBS) -pthread
src/%.o: src/%.cpp $(HEADERS)
$(CXX) $(CXXFLAGS) $(FUSE_CFLAGS) -c $< -o $@
clean:
rm -f $(OBJS) $(TARGET)