On Thu, Aug 22, 2024 at 11:52:41PM -0700, Christoph Hellwig wrote: > On Fri, Aug 23, 2024 at 07:34:11AM +0100, Al Viro wrote: > > On Thu, Aug 22, 2024 at 11:24:43PM -0700, Christoph Hellwig wrote: > > > Given that f_version only has about a dozen users maybe just kill > > > it and make them use the private data instead? Many of the users > > > looks pretty bogus to start with as they either only set or only > > > compare the value as well. > > > > Take a look at the uses in fs/pipe.c > > I did not say "all", but "many" (and maybe should have said "a few"). Not the point... From my (admittedly cursory) reading of that code, we might want different instances of struct file that share the same pipe_inode_info (pointed to by ->private_data) to have different values in ->f_version. If that is true, there's no hope of pushing it into ->private_data - we definitely do not what an extra level of indirection for getting to pipe_inode_info for those..