mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-08 19:50:08 +00:00
With trylock implemented we can add locking in readpage. After that it's pretty easy to implement our own read/write functions which at this point are more or less wrapping the kernel helpers in the correct cluster locking. Data invalidation is a bit interesting. If the lock we are invalidating is an inode group lock, we use the lock boundaries to incrementally search our inode cache. When an inode struct is found, we sync and (optionally) truncate pages. Signed-off-by: Mark Fasheh <mfasheh@versity.com> [zab: adapted to newer lock call, fixed some error handling] Signed-off-by: Zach Brown <zab@versity.com>
26 lines
916 B
Makefile
26 lines
916 B
Makefile
obj-$(CONFIG_SCOUTFS_FS) := scoutfs.o
|
|
|
|
CFLAGS_super.o = -DSCOUTFS_GIT_DESCRIBE=\"$(SCOUTFS_GIT_DESCRIBE)\"
|
|
|
|
CFLAGS_scoutfs_trace.o = -I$(src) # define_trace.h double include
|
|
|
|
scoutfs-y += alloc.o bio.o btree.o client.o compact.o counters.o data.o dir.o \
|
|
dlmglue.o file.o kvec.o inode.o ioctl.o item.o key.o lock.o \
|
|
manifest.o msg.o options.o seg.o server.o scoutfs_trace.o sock.o \
|
|
sort_priv.o stackglue.o super.o trans.o xattr.o
|
|
|
|
#
|
|
# The raw types aren't available in userspace headers. Make sure all
|
|
# the types we use in the headers are the exported __ versions.
|
|
#
|
|
# XXX dunno how we're really supposed to do this in kbuild
|
|
#
|
|
.PHONY: $(src)/check_exported_types
|
|
$(src)/check_exported_types:
|
|
@if egrep '\<[us](8|16|32|64\>)' $(src)/format.h $(src)/ioctl.h; then \
|
|
echo "no raw types in exported headers, preface with __"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
extra-y += check_exported_types
|