From: Miklos S. <mi...@sz...> - 2007-07-20 14:23:46
|
> Miklos Szeredi: > > Which one was that? The only two I see invloving i_uid, are the > > sticky check and the O_NOATIME check. > > generic_permission() is referencing i_uid. generic_permission() is only called, if the filesystem doesn't define i_op->permission(). > According to your opinion, i_uid has to be updated by getattr, hasn't > it? No, no and no. It does _not_ need to be updated. I've have said this about a zillion times now. It's the filesystem's choice how it is going to check the permission. For example it could just check in a credential cache (that what NFS does AFAIK), to see if the user has access. > > Why is this causing problems in the fuse case? If you just copy the > > attributes, that should be perfectly fine. > > Sorry. > In Tomas's case, aufs lookup the specified dir, later aufs checks it was > not removed by its i_nlink. I've fixed that, by setting n_link to 1 for the root. Is there some other problem? BTW, I think a better way to check if a directory (or file) has been unliked is checking with d_unhashed(). Miklos |