In message <[EMAIL PROTECTED]>, [EMAIL PROTECTED] writes:
> This patch looks promising, thanks, I will be testing it too.
> 
> Erez Zadok wrote:
> > +    (upper inode time being the max of all lower ones).
> 
> By the way, I find this policy a little odd.
> 
> For regular files, it looks like if one lower branch has the
> highest mtime and another branch has the highest ctime,
> then the timestamps of the upper file will not match those
> of any individual lower file (which would be disturbing).
> Is that correct ?

We don't mix ctime/atime/mtime: it's the max of each individual type.  So
atime, ctime,and mtime change individually.

For regular files it's a little different b/c the invariant for
non-directories is that only one lower object is looked up at the time (so
the "max" becomes a straight copy).

> Besides, in order to preserve the invariant, the implementation
> seems to assume that lower timestamps can only increase over
> time (which is not true).

If one uses utimes(2) to change the inode time absolutely, we just take
those times as is in ->setattr.

>  Wouldn't it be safer to reset the
> timestamps at the beginning of unionfs_copy_attr_times() too ?

Hmmm, possible, I'll take a look.  Thanks.

> Pascal

Erez.
_______________________________________________
unionfs mailing list: http://unionfs.filesystems.org/
unionfs@mail.fsl.cs.sunysb.edu
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs

Reply via email to