Hi On Fri, Sep 20, 2013 at 11:43 AM, Vyacheslav Dubeyko <slava@xxxxxxxxxxx> wrote: > > On Sep 20, 2013, at 8:39 PM, Anatol Pomozov wrote: > >> Hi, >> >> I have a following requirement: I start a process that performs a lot >> of filesystem operations. And I need to know what files my process was >> using - I need a breakdown by read operations and write operations. >> >> A real-world example where such requirement needed is build-systems - >> I run "gcc foo.c" and I want to know what files are dependencies of >> this operation. I want to record the information and if any of >> dependencies is modified - I rerun "gcc" again. >> >> There are build systems that track dependencies by mounting by-pass >> fuse filesystem and chrooting() there. e.g. tup >> https://github.com/gittup/tup But fuse is relatively slow and it >> introduces additional buffer copy. I do not want to copy data to >> user-space and back, all I need is to record what files were >> stat()/open(). >> >> Is there a light-weight mechanism that allows to perform it? >> > > What about stackable file system approach (FiST)? As far as I can see, > this approach is used by UnionFS and eCryptfs. I suppose that such approach > can be applicable for your task. Yeah, unionfs looks related. I need somewhat similar but simpler. I just found wrapfs (http://wrapfs.filesystems.org/) that seems even closer to what I am looking for. Is wrapfs the best example of "simple stackable fs"? -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html