lkml.org 
[lkml]   [2011]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/4] BTRFS: Set NOSEC early for btrfs v2
    Date
    From: Andi Kleen <ak@linux.intel.com>

    Based on a suggestion from Josef Bacik.

    The btrfs inode lookup already does a quick check for xattrs.
    If it doesn't find any and the file is not sgid set the NOSEC flag.
    This avoids a xattr lookup on the first write.

    v2: Use helper
    Cc: josef@redhat.com
    Cc: chris.mason@oracle.com
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    fs/btrfs/inode.c | 8 +++++++-
    1 files changed, 7 insertions(+), 1 deletions(-)

    diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
    index 7cd8ab0..20cecb8 100644
    --- a/fs/btrfs/inode.c
    +++ b/fs/btrfs/inode.c
    @@ -2544,8 +2544,10 @@ static void btrfs_read_locked_inode(struct inode *inode)
    * any xattrs or acls
    */
    maybe_acls = acls_after_inode_item(leaf, path->slots[0], inode->i_ino);
    - if (!maybe_acls)
    + if (!maybe_acls) {
    cache_no_acl(inode);
    + inode_has_no_xattr(inode);
    + }

    BTRFS_I(inode)->block_group = btrfs_find_block_group(root, 0,
    alloc_group_block, 0);
    @@ -4616,6 +4618,10 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
    (BTRFS_I(dir)->flags & BTRFS_INODE_NODATACOW))
    BTRFS_I(inode)->flags |= BTRFS_INODE_NODATACOW;
    }
    + /*
    + * A new inode has no xattrs yet.
    + */
    + inode_has_no_xattr(inode);

    insert_inode_hash(inode);
    inode_tree_add(inode);
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-05-28 17:29    [W:0.043 / U:58.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site