[lkml]   [2011]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [git pull] vfs pile 1.5
    On Tue, Jul 26, 2011 at 09:10:02AM -0700, Linus Torvalds wrote:
    > However, if we *do* have POSIX ACL's enabled, but we just have the XFS
    > ACL's disabled, then just returning NULL from xfs_get_acl() is
    > actually a horrible idea, because then the VFS code will always call
    > that function and it never gets cached as "I have no ACL's". Which is
    > why I didn't like the inline function approach. Well, at least not the
    > one that only returns NULL - we also want to fill in the cache.

    Even getting to check_acl() requires MS_POSIXACL to be set on the
    superblock, which it won't be if CONFIG_XFS_ACL isn't set.

    These days we can probably kill CONFIG_FOOFS_ACL given that everyone
    now uses the generic code, and due to the deeper VFS interaction is
    more or less forced to anyway. Historically that wasn't the case.

    > I'm actually getting more and more convinced that we should just do
    > that "set_acl_cache()" in generic code for the "get_acl()" case. Even
    > without any locking it's no worse than all the current filesystems,
    > since they *also* do it with no locking. And then this kind of issue
    > wouldn't come up.

    While I agree with you that we should life it into the common code,
    the common caching is not related at all to this particular issue.

    The code that fails to compile is where XFS implements the default ACL
    inheritance when creating new inodes. Move filesystems do this a bit
    simpler and dumber and do the ACL-induced i_mode modifications after
    creating the inode. XFS tries to create the inode with the correct mode
    from the first moment and thus has a slightly broader interface between
    the "normal" inode ops and its ACL code.

    Due to various interactions with the fs transaction code the inheritance
    code is at the very end of my list of ACL pieces to move to common code.

     \ /
      Last update: 2011-07-26 18:21    [W:0.024 / U:0.224 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site