On 5/15/07, Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> wrote:
So there can be two cases in union mounts: 1. A file exists in topmost layer and also in one or more lower layers. Deleting the file would result in the top layer file being deleted and a whiteout being created in the top layer. 2. A file exists in one or more of lower layers, but not in the topmost layer. Deleting this file would result in just a whiteout being created in the topmost layer.
I'd imagine there is a third potential option, which I'll admit strays a bit from the conventional UNIX semantic. If only one layer is marked as writable, then any changes (including delete) only effect that layer. I could imagine this would be useful in situations like overlaying a sandbox on an otherwise read-only source code tree (you might want to just get rid of a modification by removing your file and have it replaced by the original underlying source). I suppose a further extension would be to have multiple layers marked as mutable and functions such as delete would effect all mutable layers, but functions like create would only affect the top mutable layer. As an aside, perhaps it would be useful to mark the mutable layer at mount time (instead of having it always be the top layer). Again this could lead to some optional non-conventional file system semantics, but its proven useful in Plan 9 union mount semantics and it seems a fairly trivial extension to what you currently have. -eric - 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