diff --git a/fs/Kconfig b/fs/Kconfig index 83c56571d0bc1e5f7e28df5918cf0f1c8598afc9..3cc647e00f3cf2052c118fde23aa63b31557e30c 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -354,6 +354,7 @@ source "fs/cifs/Kconfig" source "fs/coda/Kconfig" source "fs/afs/Kconfig" source "fs/9p/Kconfig" +source "fs/eulerfs/Kconfig" endif # NETWORK_FILESYSTEMS diff --git a/fs/Makefile b/fs/Makefile index 01d36815c3a5d4f7013eca7b759436b514f4699e..fec76c1b4e06f62497d0f90c007aaf394a869ee2 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -139,3 +139,4 @@ obj-$(CONFIG_RESCTRL) += resctrlfs.o obj-$(CONFIG_EROFS_FS) += erofs/ obj-$(CONFIG_VBOXSF_FS) += vboxsf/ obj-$(CONFIG_ZONEFS_FS) += zonefs/ +obj-$(CONFIG_EULER_FS) += eulerfs/ diff --git a/fs/eulerfs/Kconfig b/fs/eulerfs/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..6328684f0b6a428e693c7b162d02de164a4a9be9 --- /dev/null +++ b/fs/eulerfs/Kconfig @@ -0,0 +1,10 @@ +config EULER_FS + tristate "EulerFS: filesystem for non-volatile memories" + depends on ARM64 || X86_64 + depends on FS_DAX + select CRC32 + select LIBCRC32C + help + EulerFS is NVDIMM filesystem. It uses soft updates and + pointer-based dual views to delay synchronous cache flushes + and reduce latency significantly in critical path. diff --git a/fs/eulerfs/Makefile b/fs/eulerfs/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..706e6ebff77ed44d34e214e6710235c2b3254b8a --- /dev/null +++ b/fs/eulerfs/Makefile @@ -0,0 +1,9 @@ +# +# Makefile for eulerfs +# + +obj-$(CONFIG_EULER_FS) += eulerfs.o + +eulerfs-y := dir.o file.o inode.o namei.o super.o symlink.o +eulerfs-y += dax.o dht.o dep.o nvalloc.o wear.o +eulerfs-y += kmem_cache.o