Hello
I created a vfs package archive containing vfs and vfs_cow and start it within the sculpt runtime providing the following configuration:
<config> <vfs> <dir name="immutable"> <fs label="template_data"/> </dir> <dir name="mutable"> <fs label="user_data"/> </dir> <dir name="cow"> <cow ro="/immutable" rw="/mutable"/> </dir> </vfs> <default-policy root="/cow" writeable="yes"/> </config>
Then, I changed the "target" file system of the noux package to use the above copy-on-write file system to play around with it...
First thing I noticed is that the directories and files of "template_data" are not populated. I guess that's a feature that is not yet or will not be implemented and for my use case it doesn't bother me right now.
But when I open/write a file (that exists in template_data), cow_vfs writes the following output:
[runtime -> cow_fs] Warning: COW: block for replication... [runtime -> cow_fs] Warning: COW: block for replication...
...and never unblocks afterwards. If immutable is something like </ram> or </inline ...>, it works as I would expect it. Is this a known limitation? Or can someone point me to the right direction to solve it?
I love the idea of the vfs_cow component and I guess it may cover many other use cases!
Cheers, Roman