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 4/4] XFS: Set NOSEC flag early when inode has no xattrs. v2
    Date
    From: Andi Kleen <ak@linux.intel.com>

    Set the S_NOSEC flag early if the inode has no xattrs for XFS.
    This avoids a single xattr lookup for the first write on every
    file, if the file has no xattrs.

    v2: Use helper
    Cc: dchinner@redhat.com
    Cc: aelder@sgi.com
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    fs/xfs/linux-2.6/xfs_iops.c | 3 +++
    fs/xfs/xfs_attr.c | 2 +-
    fs/xfs/xfs_attr.h | 1 +
    3 files changed, 5 insertions(+), 1 deletions(-)

    diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
    index dd21784..507505b 100644
    --- a/fs/xfs/linux-2.6/xfs_iops.c
    +++ b/fs/xfs/linux-2.6/xfs_iops.c
    @@ -763,6 +763,9 @@ xfs_setup_inode(
    break;
    }

    + if (!xfs_inode_hasattr(ip))
    + inode_has_no_xattr(inode);
    +
    xfs_iflags_clear(ip, XFS_INEW);
    barrier();

    diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c
    index c863753..43140db 100644
    --- a/fs/xfs/xfs_attr.c
    +++ b/fs/xfs/xfs_attr.c
    @@ -99,7 +99,7 @@ xfs_attr_name_to_xname(
    return 0;
    }

    -STATIC int
    +int
    xfs_inode_hasattr(
    struct xfs_inode *ip)
    {
    diff --git a/fs/xfs/xfs_attr.h b/fs/xfs/xfs_attr.h
    index e920d68..20f4038 100644
    --- a/fs/xfs/xfs_attr.h
    +++ b/fs/xfs/xfs_attr.h
    @@ -142,5 +142,6 @@ typedef struct xfs_attr_list_context {
    int xfs_attr_inactive(struct xfs_inode *dp);
    int xfs_attr_rmtval_get(struct xfs_da_args *args);
    int xfs_attr_list_int(struct xfs_attr_list_context *);
    +int xfs_inode_hasattr(struct xfs_inode *ip);

    #endif /* __XFS_ATTR_H__ */
    --
    1.7.4.4


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