On Fri, 11 Jun 2021 at 09:31, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > Taking a step back. > > The main problem this is trying to solve is losing persistent inode flags > on copy-up. > > If this was just NOATIME and SYNC the solution would have been > simple - copy up the flags along with other metadata we copy up. > > We wouldn't even need to limit ourselves to the 4 vfs inode flags > in ovl_copyflags(). We could add the the copied up flags more > fs specific flags that we know to be safe and rational to copy > such as NOCOW, NODUMP and DIRSYNC. > > The secondary problem is that copying IMMUTABLE/APPEND > to upper inode on copy up is not an option, so the solution is to > store those properties in an xattr. > > I think we should split the solution to the primary and secondary > problems and avoid an over-designed generic future extendable > xflags xattr feature. > > So I am leaning towards a more focused solution for > IMMUTABLE/APPEND in the form of either two boolean > xattr overlay.{immutable,appendonly} or one single bytes > xattr overlay.protected. Makes sense. Not sure how you'd make it single byte and user friendly at the same time. I.e. how'd you represent +ia?. Otherwise I'm fine with either. Thanks, Miklos