cannot write to file

Zach Brown zach.brown at oracle.com
Mon Oct 13 12:04:17 PDT 2008


> Please let me know whether or not there's something you suspect of, otherwise I'll go back to this
> sometime next week.

That sounds entirely possible, yeah.

One of the cool things that the crfs vfs paths do is perform atomic
changes across the set of items which make up a file system operation.
For example, it will only start modifying the items involved in a rename
once it is sure that all the modifications will succeed.  It doesn't
have to worry about storing previous state so that it can be restored
when an error occurs part-way through the process.

But the code that implements this is pretty fiddly and involves
confusing callbacks, for a number of reasons.

It sounds like this bug is hiding somewhere in how the commit_write path
passes a pointer to an on-stack variable to those callbacks.  It's not
surprising at all.

At the moment I'm focusing on moving CRFS to use the modern BTRFS
back-end.  If it works out the project will be making a huge leap
forward.  With that out of the way 'll be able to go back and start to
back-fill in some of the more incomplete bits.

If there are specific things I can do to help you look into this before
I get around to it, let me know.

- z



More information about the crfs-devel mailing list