[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <17310.1245776720@redhat.com>
Date: Tue, 23 Jun 2009 18:05:20 +0100
From: David Howells <dhowells@...hat.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: dhowells@...hat.com, alan@...rguk.ukuu.org.uk, hch@...radead.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
torvalds@...ux-foundation.org, viro@...IV.linux.org.uk,
adilger@....com, akpm@...ux-foundation.org
Subject: Re: [RFC] O_NOACC: open without any access
Miklos Szeredi <miklos@...redi.hu> wrote:
> 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...
Yes. That's what I need. That's what pioctl() is for: it operates on the
underlying fs, not any special aspects of the various types of file, and since
it doesn't do traditional I/O on those files, it doesn't need to, and
shouldn't, open them (thus avoiding side effects from ->open()), and doesn't
need R/W access to them.
> Add a new inode->i_filesystem_fop pointer
I'd rather not put it there. That means the inode struct grows. Perhaps
attach it to the inode_operations table or stick an open_noaccess() op in the
iops table.
> Define O_NOACC as 3. On open(..., O_FILESYSTEM | O_NOACC) require no
> privileges on the file.
It must also work with O_NOFOLLOW, which I think your suggestion will.
> AFS would set up i_filesystem_fop with its ->ioctl() function. No
> special handling needed for revoke()...
Sounds reasonable.
> That would work, no?
I think so.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists