Hi,
the aufs manpage states hat the top-down-parent create policy "Selects the
highest writable branch where the parent dir exists. If the parent dir does
not exist on a writable branch, then the internal copyup will happen." I
suspect this wording is incorrect, and the following would describe it
better: "Select the highest branch where the parent dir exists. If this
branch is not writable, internal copyup will happen."
For example, suppose you have a union like
/aufs = /rw1 + /ro+wh + /rw2
where /rw1 is empty, and both /rw2 and /ro+wh have a subdirectory named
subdir. If you now touch /aufs/subdir/newfile, according to the manpage, it
should be created in /rw2, since it is the highest branch which contains
subdir and is writable. In practice, however, aufs will create /rw1/subdir
and /rw1/subdir/newfile, which leads me to the conclusion that it selects
/ro+wh as the highest branch containing subdir regardless of its write
access, and then performs copy-up.
I am, however, not sure if this behavior is intentional and just inexactly
described, or if the policy is intended as described and wrongly
implemented?
Peter
------------------------------------------------------------------------------