All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] vfs: move ACL cache lookup into generic code
Date: Sat, 23 Jul 2011 22:53:37 +0100	[thread overview]
Message-ID: <20110723215337.GK24703@ZenIV.linux.org.uk> (raw)
In-Reply-To: <CA+55aFxh-VQQWFS=ZMv9Cx36kZtUA+z9cnrnshi5A8gB84u7Lw@mail.gmail.com>

On Sat, Jul 23, 2011 at 11:29:39AM -0700, Linus Torvalds wrote:
> On Sat, Jul 23, 2011 at 11:20 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> >>
> >> but we'll never do it, because it's such a pain.
> >
> > Maybe, maybe not... ?There's not *that* many of users of either of those.
> 
> The problem is that current 'mode_t' and if it is ever exported to
> user space (and I bet it is, in various structures), we're basically
> screwed. You have a random architecture-specific size, that you can't
> clean up to be the size you actually _use_, because it's now part of
> the ABI.

It's not that bad, really.  On part of targets struct stat has mode_t st_mode;
same for hpux_stat64 and ipc64_perm on parisc and stat64 on mips.  Other
just declare st_mode as unsigned int or unsigned short without any problems
(including x86, FWIW).  There's also __kernel_mode_t, which is arch-dependent;
not sure if it's always the same as what's used for st_mode in struct stat.
That's often used for ipc64_perm (->mode) and (AFAICS, always) for ipc_perm
(->mode, again).

We also have a few syscalls passing mode_t - chmod, fchmod, fchmodat,
mq_open.  open(), mknod() and mkdir() use int.

	That's about it - shouldn't be a problem to switch mode_t in ABI to
__kernel_mode_t (equivalent, since mode_t is typedefed to __kernel_mode_t)
and we are free to do whatever we want with internal mode_t.  I suspect
that starting with centralized typedef for umode_t (always u16) it wouldn't
take much to drive all internal uses to umode_t (or size_t, in at least one
case ;-), then replace all remaining (part of ABI) instances with
__kernel_mode_t and rename umode_t to mode_t.  I'll try to put such a series
together tonight; will push to #mode_t once done...

  reply	other threads:[~2011-07-23 21:53 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-22 17:37 VFS pathname walking cleanups (i_op and ACL access) Linus Torvalds
2011-07-22 17:37 ` [PATCH 1/2] VFS: Cut down inode->i_op->xyz accesses in path walking Linus Torvalds
2011-07-22 17:47   ` Christoph Hellwig
2011-07-22 23:40   ` Al Viro
2011-07-22 23:54     ` Linus Torvalds
2011-07-23  3:55   ` [PATCH] " Linus Torvalds
2011-07-23 13:35     ` Christoph Hellwig
2011-07-23 14:46       ` Al Viro
2011-07-23 14:51         ` Christoph Hellwig
2011-07-23 15:45         ` Linus Torvalds
     [not found]     ` <alpine.LFD.2.02.1107251852220.13796@i5.linux-foundation.org>
2011-07-26  3:05       ` Al Viro
2011-07-26  3:23         ` Linus Torvalds
2011-07-26 18:41           ` Al Viro
2011-07-26 18:45             ` Linus Torvalds
2011-08-07  6:06           ` Linus Torvalds
2011-08-07  6:51             ` Al Viro
2011-08-07 23:43               ` Linus Torvalds
2011-07-22 17:40 ` VFS pathname walking cleanups (i_op and ACL access) Christoph Hellwig
2011-07-22 17:45 ` [PATCH 2/2] vfs: move ACL cache lookup into generic code Linus Torvalds
2011-07-22 17:50   ` Christoph Hellwig
2011-07-22 17:54     ` Linus Torvalds
2011-07-23  2:34   ` [PATCH] " Linus Torvalds
2011-07-23  3:29     ` Al Viro
2011-07-23  3:42       ` Linus Torvalds
2011-07-23  4:31         ` Al Viro
2011-07-23  6:06           ` Al Viro
2011-07-25  8:15             ` Aneesh Kumar K.V
2011-07-25  8:16           ` Aneesh Kumar K.V
2011-07-23  7:47       ` Al Viro
2011-07-23 14:50         ` Christoph Hellwig
2011-07-23 15:32           ` Al Viro
2011-07-23 17:02             ` Al Viro
2011-07-23 17:31               ` Linus Torvalds
2011-07-23 18:20                 ` Al Viro
2011-07-23 18:29                   ` Linus Torvalds
2011-07-23 21:53                     ` Al Viro [this message]
2011-07-23 22:38                       ` Al Viro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110723215337.GK24703@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=hch@lst.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.