]> git.baikalelectronics.ru Git - kernel.git/commit
cachefiles: Implement metadata/coherency data storage in xattrs
authorDavid Howells <dhowells@redhat.com>
Wed, 17 Nov 2021 16:11:07 +0000 (16:11 +0000)
committerDavid Howells <dhowells@redhat.com>
Fri, 7 Jan 2022 13:42:24 +0000 (13:42 +0000)
commit7bde5b46b7d524e1370a19693b148ee5ed1733ce
tree2d341270872b1fb0c0e1e3b671d09bc28630fe9e
parent36488655b6b7a9e0acd12430b295c8c304562219
cachefiles: Implement metadata/coherency data storage in xattrs

Use an xattr on each backing file in the cache to store some metadata, such
as the content type and the coherency data.

Five content types are defined:

 (0) No content stored.

 (1) The file contains a single monolithic blob and must be all or nothing.
     This would be used for something like an AFS directory or a symlink.

 (2) The file is populated with content completely up to a point with
     nothing beyond that.

 (3) The file has a map attached and is sparsely populated.  This would be
     stored in one or more additional xattrs.

 (4) The file is dirty, being in the process of local modification and the
     contents are not necessarily represented correctly by the metadata.
     The file should be deleted if this is seen on binding.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
cc: linux-cachefs@redhat.com
Link: https://lore.kernel.org/r/163819641320.215744.16346770087799536862.stgit@warthog.procyon.org.uk/
Link: https://lore.kernel.org/r/163906942248.143852.5423738045012094252.stgit@warthog.procyon.org.uk/
Link: https://lore.kernel.org/r/163967151734.1823006.9301249989443622576.stgit@warthog.procyon.org.uk/
Link: https://lore.kernel.org/r/164021550471.640689.553853918307994335.stgit@warthog.procyon.org.uk/
fs/cachefiles/Makefile
fs/cachefiles/internal.h
fs/cachefiles/xattr.c [new file with mode: 0644]
include/trace/events/cachefiles.h