Messages in this thread |  | | | From | Miklos Szeredi <> | | Subject | Re: [PATCH 0/7] overlay filesystem v9 | | Date | Fri, 20 May 2011 10:18:30 +0200 |
| |
(Neil, sorry for the dup)
NeilBrown <neilb@suse.de> writes:
> On Thu, 19 May 2011 19:05:58 +0100 Andy Whitcroft <apw@canonical.com> wrote: > >> On Thu, May 19, 2011 at 07:44:54PM +0200, Miklos Szeredi wrote: >> > I'd be happier if the LSM module were fixed not to peek inside the inode >> > structure. Some filesystems (notably network ones) do not guarantee i_* >> > to be up-to-date, relying on these is not a good idea. >> >> I wonder what what the official way to get ownership information for an >> inode is if we cannot rely on those. I am happy to get the Yama LSM >> fixed up if they are doing something wrong. >> >> -apw > > inode->getattr(...., &kstat); > look at kstat.uid, kstat.gid.
Yeah, it should probably do something like:
if (inode->i_op->getattr) { struct kstat stat; inode->i_op->getattr(...) uid = stat.uid; } else { uid = inode->i_uid; } The problem is that getattr takes a vfsmount, which makes this impossible to do cleanly. And the solution is for ->getattr() to lose that argument, which is a bit more involved :(
Thanks, Miklos
|  |