Messages in this thread | | | Subject | Re: [RFC] O_NOACC: open without any access | From | Miklos Szeredi <> | Date | Tue, 23 Jun 2009 18:31:23 +0200 |
| |
On Tue, 23 Jun 2009, David Howells wrote: > Reference count on which module? This would not take a reference on > the device driver as it would not refer to it, but would still have > a file struct, an inode struct and a dentry struct on the underlying > fs.
So how about the following: provide a new open flag O_FILESYSTEM, meaning it opens the file on the underlying filesystem instead of the device/socket/symlink/etc...
Add a new inode->i_filesystem_fop pointer which is used instead of inode->i_fop in case if O_FILESYSTEM. If ->i_filesystem_fop isn't set by the filesystem, fall back to a default which returns -EBADF for all operations (except open).
Define O_NOACC as 3. On open(..., O_FILESYSTEM | O_NOACC) require no privileges on the file.
AFS would set up i_filesystem_fop with its ->ioctl() function. No special handling needed for revoke()...
That would work, no?
Thanks, Miklos
| |