On Mon, Jan 8, 2018 at 12:16 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > On Wed, Nov 29, 2017 at 4:54 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: >> Right now my understanding is that origin xattr is created for all copied >> up files if index=on. And if index=off, then we create it for all type >> of files except hardlinks (nlink != 1). >> >> With metadata only copy up, I will still require origin xattr to copy up >> data later, so create it even for hardlinks even with index=off. > > This doesn't look right. Without index we can't do hard links > properly, doing metacopy in that case will complicate the situation > further and can result in weirdness (e.g. two files that have > different attributes but same inode number). But ovl_getattr() does not return lower st_ino for non-indexed upper with lowerstat.nlink != 1. > > So I think we should either require index for metacopy, or disable > metacopy only for nlink != 1 files, but otherwise enable it even in > case of index=off. > IIRC, commit 6eaf011144af ("ovl: fix EIO from lookup of non-indexed upper") was a result of a conversation about this very patch and this very issue. After this commit, the situation of non-indexed upper with origin is handled correctly on lookup (hash by upper inode) and I couldn't find a reason why setting origin for metacopy with index=off is wrong. Or anything that could go wrong for setting origin on every copy up. Am I missing something? Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html