• Joel Becker's avatar
    ocfs2: Set xattr block entries with ocfs2_xa_set() · d3981544
    Joel Becker authored
    ocfs2_xattr_block_set() calls into ocfs2_xattr_set_entry() with just the
    HAS_XATTR flag.  Most of the machinery of ocfs2_xattr_set_entry() is
    skipped.  All that really happens other than the call to ocfs2_xa_set()
    is making sure the HAS_XATTR flag is set on the inode.
    
    But HAS_XATTR should be set when we also set di->i_xattr_loc.  And
    that's done in ocfs2_create_xattr_block().  So let's move it there, and
    then ocfs2_xattr_block_set() can just call ocfs2_xa_set().
    
    While we're there, ocfs2_create_xattr_block() can take the set_ctxt for
    a smaller argument list.  It also learns to set HAS_XATTR_FL, because it
    knows for sure.  ocfs2_create_empty_xatttr_block() in the reflink path
    fakes a set_ctxt to call ocfs2_create_xattr_block().
    Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
    d3981544
xattr.c 190 KB