On Sep 20, 2013, at 10:48 PM, Anatol Pomozov wrote: > 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"? Yes, I think so. Simplicity is better. :) With the best regards, Vyacheslav Dubeyko. -- 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