Lines Matching refs:loc
148 int (*xlo_journal_access)(handle_t *handle, struct ocfs2_xa_loc *loc,
150 void (*xlo_journal_dirty)(handle_t *handle, struct ocfs2_xa_loc *loc);
156 void *(*xlo_offset_pointer)(struct ocfs2_xa_loc *loc, int offset);
159 int (*xlo_can_reuse)(struct ocfs2_xa_loc *loc,
163 int (*xlo_check_space)(struct ocfs2_xa_loc *loc,
170 int (*xlo_get_free_start)(struct ocfs2_xa_loc *loc);
176 void (*xlo_wipe_namevalue)(struct ocfs2_xa_loc *loc);
179 void (*xlo_add_entry)(struct ocfs2_xa_loc *loc, u32 name_hash);
182 void (*xlo_add_namevalue)(struct ocfs2_xa_loc *loc, int size);
188 void (*xlo_fill_value_buf)(struct ocfs2_xa_loc *loc,
1431 static int ocfs2_xa_journal_access(handle_t *handle, struct ocfs2_xa_loc *loc, in ocfs2_xa_journal_access() argument
1434 return loc->xl_ops->xlo_journal_access(handle, loc, type); in ocfs2_xa_journal_access()
1437 static void ocfs2_xa_journal_dirty(handle_t *handle, struct ocfs2_xa_loc *loc) in ocfs2_xa_journal_dirty() argument
1439 loc->xl_ops->xlo_journal_dirty(handle, loc); in ocfs2_xa_journal_dirty()
1443 static void *ocfs2_xa_offset_pointer(struct ocfs2_xa_loc *loc, int offset) in ocfs2_xa_offset_pointer() argument
1445 BUG_ON(offset >= loc->xl_size); in ocfs2_xa_offset_pointer()
1446 return loc->xl_ops->xlo_offset_pointer(loc, offset); in ocfs2_xa_offset_pointer()
1454 static void ocfs2_xa_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_wipe_namevalue() argument
1456 loc->xl_ops->xlo_wipe_namevalue(loc); in ocfs2_xa_wipe_namevalue()
1463 static int ocfs2_xa_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_get_free_start() argument
1465 return loc->xl_ops->xlo_get_free_start(loc); in ocfs2_xa_get_free_start()
1469 static int ocfs2_xa_can_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_can_reuse_entry() argument
1472 return loc->xl_ops->xlo_can_reuse(loc, xi); in ocfs2_xa_can_reuse_entry()
1476 static int ocfs2_xa_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_check_space() argument
1479 return loc->xl_ops->xlo_check_space(loc, xi); in ocfs2_xa_check_space()
1482 static void ocfs2_xa_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_add_entry() argument
1484 loc->xl_ops->xlo_add_entry(loc, name_hash); in ocfs2_xa_add_entry()
1485 loc->xl_entry->xe_name_hash = cpu_to_le32(name_hash); in ocfs2_xa_add_entry()
1491 loc->xl_entry->xe_name_offset = cpu_to_le16(loc->xl_size); in ocfs2_xa_add_entry()
1494 static void ocfs2_xa_add_namevalue(struct ocfs2_xa_loc *loc, in ocfs2_xa_add_namevalue() argument
1501 loc->xl_ops->xlo_add_namevalue(loc, size); in ocfs2_xa_add_namevalue()
1502 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_add_namevalue()
1503 loc->xl_entry->xe_name_len = xi->xi_name_len; in ocfs2_xa_add_namevalue()
1504 ocfs2_xattr_set_type(loc->xl_entry, xi->xi_name_index); in ocfs2_xa_add_namevalue()
1505 ocfs2_xattr_set_local(loc->xl_entry, in ocfs2_xa_add_namevalue()
1508 nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_add_namevalue()
1509 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_add_namevalue()
1514 static void ocfs2_xa_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_fill_value_buf() argument
1517 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_fill_value_buf()
1518 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_fill_value_buf()
1521 BUG_ON(ocfs2_xattr_is_local(loc->xl_entry)); in ocfs2_xa_fill_value_buf()
1522 BUG_ON(namevalue_size_xe(loc->xl_entry) != in ocfs2_xa_fill_value_buf()
1525 loc->xl_ops->xlo_fill_value_buf(loc, vb); in ocfs2_xa_fill_value_buf()
1527 (struct ocfs2_xattr_value_root *)ocfs2_xa_offset_pointer(loc, in ocfs2_xa_fill_value_buf()
1533 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_block_journal_access() argument
1535 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_access()
1538 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_journal_access()
1544 return access(handle, INODE_CACHE(loc->xl_inode), bh, type); in ocfs2_xa_block_journal_access()
1548 struct ocfs2_xa_loc *loc) in ocfs2_xa_block_journal_dirty() argument
1550 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_dirty()
1555 static void *ocfs2_xa_block_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_offset_pointer() argument
1558 return (char *)loc->xl_header + offset; in ocfs2_xa_block_offset_pointer()
1561 static int ocfs2_xa_block_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_can_reuse() argument
1568 return namevalue_size_xe(loc->xl_entry) == in ocfs2_xa_block_can_reuse()
1572 static int ocfs2_xa_block_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_get_free_start() argument
1574 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_get_free_start()
1576 int offset, free_start = loc->xl_size; in ocfs2_xa_block_get_free_start()
1587 static int ocfs2_xa_block_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_check_space() argument
1590 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_check_space()
1591 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_check_space()
1599 if (loc->xl_entry) { in ocfs2_xa_block_check_space()
1601 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_block_check_space()
1604 needed_space -= ocfs2_xe_entry_usage(loc->xl_entry); in ocfs2_xa_block_check_space()
1615 static void ocfs2_xa_block_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_wipe_namevalue() argument
1619 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_block_wipe_namevalue()
1620 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_wipe_namevalue()
1625 first_namevalue_offset = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_wipe_namevalue()
1647 static void ocfs2_xa_block_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_block_add_entry() argument
1649 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_add_entry()
1650 loc->xl_entry = &(loc->xl_header->xh_entries[count]); in ocfs2_xa_block_add_entry()
1651 le16_add_cpu(&loc->xl_header->xh_count, 1); in ocfs2_xa_block_add_entry()
1652 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_block_add_entry()
1655 static void ocfs2_xa_block_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_block_add_namevalue() argument
1657 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_add_namevalue()
1659 loc->xl_entry->xe_name_offset = cpu_to_le16(free_start - size); in ocfs2_xa_block_add_namevalue()
1662 static void ocfs2_xa_block_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_fill_value_buf() argument
1665 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_fill_value_buf()
1667 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_fill_value_buf()
1694 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_bucket_journal_access() argument
1696 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_access()
1702 struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_journal_dirty() argument
1704 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_dirty()
1709 static void *ocfs2_xa_bucket_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_offset_pointer() argument
1712 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_offset_pointer()
1716 block = offset >> loc->xl_inode->i_sb->s_blocksize_bits; in ocfs2_xa_bucket_offset_pointer()
1717 block_offset = offset % loc->xl_inode->i_sb->s_blocksize; in ocfs2_xa_bucket_offset_pointer()
1722 static int ocfs2_xa_bucket_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_can_reuse() argument
1725 return namevalue_size_xe(loc->xl_entry) >= in ocfs2_xa_bucket_can_reuse()
1729 static int ocfs2_xa_bucket_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_get_free_start() argument
1731 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_get_free_start()
1749 static int ocfs2_xa_bucket_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_check_space() argument
1753 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_bucket_check_space()
1754 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_check_space()
1757 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_check_space()
1765 if (loc->xl_entry) { in ocfs2_xa_bucket_check_space()
1767 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_bucket_check_space()
1794 static void ocfs2_xa_bucket_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_wipe_namevalue() argument
1796 le16_add_cpu(&loc->xl_header->xh_name_value_len, in ocfs2_xa_bucket_wipe_namevalue()
1797 -namevalue_size_xe(loc->xl_entry)); in ocfs2_xa_bucket_wipe_namevalue()
1800 static void ocfs2_xa_bucket_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_bucket_add_entry() argument
1802 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_entry()
1831 loc->xl_entry = &xh->xh_entries[low]; in ocfs2_xa_bucket_add_entry()
1832 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_bucket_add_entry()
1835 static void ocfs2_xa_bucket_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_bucket_add_namevalue() argument
1837 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_add_namevalue()
1838 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_namevalue()
1839 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_add_namevalue()
1844 loc->xl_entry->xe_name_offset = cpu_to_le16(nameval_offset); in ocfs2_xa_bucket_add_namevalue()
1850 static void ocfs2_xa_bucket_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_fill_value_buf() argument
1853 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_fill_value_buf()
1854 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_fill_value_buf()
1855 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_bucket_fill_value_buf()
1856 int size = namevalue_size_xe(loc->xl_entry); in ocfs2_xa_bucket_fill_value_buf()
1883 static unsigned int ocfs2_xa_value_clusters(struct ocfs2_xa_loc *loc) in ocfs2_xa_value_clusters() argument
1887 if (ocfs2_xattr_is_local(loc->xl_entry)) in ocfs2_xa_value_clusters()
1890 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_clusters()
1894 static int ocfs2_xa_value_truncate(struct ocfs2_xa_loc *loc, u64 bytes, in ocfs2_xa_value_truncate() argument
1900 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_truncate()
1901 trunc_rc = ocfs2_xattr_value_truncate(loc->xl_inode, &vb, bytes, in ocfs2_xa_value_truncate()
1914 access_rc = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_value_truncate()
1921 static void ocfs2_xa_remove_entry(struct ocfs2_xa_loc *loc) in ocfs2_xa_remove_entry() argument
1924 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_remove_entry()
1925 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_remove_entry()
1927 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_remove_entry()
1928 loc->xl_entry = NULL; in ocfs2_xa_remove_entry()
1972 static void ocfs2_xa_cleanup_value_truncate(struct ocfs2_xa_loc *loc, in ocfs2_xa_cleanup_value_truncate() argument
1976 unsigned int new_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_cleanup_value_truncate()
1977 char *nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_cleanup_value_truncate()
1978 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_cleanup_value_truncate()
1984 what, loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1986 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
1992 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1994 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
2000 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
2004 static int ocfs2_xa_remove(struct ocfs2_xa_loc *loc, in ocfs2_xa_remove() argument
2010 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_remove()
2011 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_remove()
2012 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_remove()
2021 if (orig_clusters != ocfs2_xa_value_clusters(loc)) in ocfs2_xa_remove()
2023 ocfs2_xa_cleanup_value_truncate(loc, "removing", in ocfs2_xa_remove()
2030 ocfs2_xa_remove_entry(loc); in ocfs2_xa_remove()
2036 static void ocfs2_xa_install_value_root(struct ocfs2_xa_loc *loc) in ocfs2_xa_install_value_root() argument
2038 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_install_value_root()
2041 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_install_value_root()
2042 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_install_value_root()
2051 static int ocfs2_xa_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_reuse_entry() argument
2059 int xe_local = ocfs2_xattr_is_local(loc->xl_entry); in ocfs2_xa_reuse_entry()
2062 BUG_ON(OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len) != in ocfs2_xa_reuse_entry()
2065 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_reuse_entry()
2066 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_reuse_entry()
2069 namevalue_size_xe(loc->xl_entry) - name_size); in ocfs2_xa_reuse_entry()
2071 ocfs2_xa_install_value_root(loc); in ocfs2_xa_reuse_entry()
2073 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_reuse_entry()
2075 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_reuse_entry()
2080 namevalue_size_xe(loc->xl_entry) - in ocfs2_xa_reuse_entry()
2082 } else if (le64_to_cpu(loc->xl_entry->xe_value_size) > in ocfs2_xa_reuse_entry()
2084 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, in ocfs2_xa_reuse_entry()
2091 ocfs2_xa_cleanup_value_truncate(loc, "reusing", in ocfs2_xa_reuse_entry()
2097 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_reuse_entry()
2098 ocfs2_xattr_set_local(loc->xl_entry, xi_local); in ocfs2_xa_reuse_entry()
2112 static int ocfs2_xa_prepare_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_prepare_entry() argument
2121 rc = ocfs2_xa_check_space(loc, xi); in ocfs2_xa_prepare_entry()
2125 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2126 if (ocfs2_xa_can_reuse_entry(loc, xi)) { in ocfs2_xa_prepare_entry()
2127 orig_value_size = loc->xl_entry->xe_value_size; in ocfs2_xa_prepare_entry()
2128 rc = ocfs2_xa_reuse_entry(loc, xi, ctxt); in ocfs2_xa_prepare_entry()
2134 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_prepare_entry()
2135 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2136 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_prepare_entry()
2139 ocfs2_xa_cleanup_value_truncate(loc, in ocfs2_xa_prepare_entry()
2145 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_prepare_entry()
2147 ocfs2_xa_add_entry(loc, name_hash); in ocfs2_xa_prepare_entry()
2153 ocfs2_xa_add_namevalue(loc, xi); in ocfs2_xa_prepare_entry()
2155 ocfs2_xa_install_value_root(loc); in ocfs2_xa_prepare_entry()
2159 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2160 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, ctxt); in ocfs2_xa_prepare_entry()
2163 ocfs2_xa_cleanup_value_truncate(loc, "growing", in ocfs2_xa_prepare_entry()
2171 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2173 loc->xl_entry->xe_value_size = orig_value_size; in ocfs2_xa_prepare_entry()
2188 static int ocfs2_xa_store_value(struct ocfs2_xa_loc *loc, in ocfs2_xa_store_value() argument
2193 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_store_value()
2198 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_store_value()
2200 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_store_value()
2201 rc = __ocfs2_xattr_set_value_outside(loc->xl_inode, in ocfs2_xa_store_value()
2211 static int ocfs2_xa_set(struct ocfs2_xa_loc *loc, in ocfs2_xa_set() argument
2216 u32 name_hash = ocfs2_xattr_name_hash(loc->xl_inode, xi->xi_name, in ocfs2_xa_set()
2219 ret = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_set()
2234 ret = ocfs2_xa_remove(loc, ctxt); in ocfs2_xa_set()
2238 ret = ocfs2_xa_prepare_entry(loc, xi, name_hash, ctxt); in ocfs2_xa_set()
2245 ret = ocfs2_xa_store_value(loc, xi, ctxt); in ocfs2_xa_set()
2250 ocfs2_xa_journal_dirty(ctxt->handle, loc); in ocfs2_xa_set()
2256 static void ocfs2_init_dinode_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_dinode_xa_loc() argument
2265 loc->xl_inode = inode; in ocfs2_init_dinode_xa_loc()
2266 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_dinode_xa_loc()
2267 loc->xl_storage = bh; in ocfs2_init_dinode_xa_loc()
2268 loc->xl_entry = entry; in ocfs2_init_dinode_xa_loc()
2269 loc->xl_size = le16_to_cpu(di->i_xattr_inline_size); in ocfs2_init_dinode_xa_loc()
2270 loc->xl_header = in ocfs2_init_dinode_xa_loc()
2272 loc->xl_size); in ocfs2_init_dinode_xa_loc()
2275 static void ocfs2_init_xattr_block_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_block_xa_loc() argument
2285 loc->xl_inode = inode; in ocfs2_init_xattr_block_xa_loc()
2286 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_xattr_block_xa_loc()
2287 loc->xl_storage = bh; in ocfs2_init_xattr_block_xa_loc()
2288 loc->xl_header = &(xb->xb_attrs.xb_header); in ocfs2_init_xattr_block_xa_loc()
2289 loc->xl_entry = entry; in ocfs2_init_xattr_block_xa_loc()
2290 loc->xl_size = bh->b_size - offsetof(struct ocfs2_xattr_block, in ocfs2_init_xattr_block_xa_loc()
2294 static void ocfs2_init_xattr_bucket_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_bucket_xa_loc() argument
2298 loc->xl_inode = bucket->bu_inode; in ocfs2_init_xattr_bucket_xa_loc()
2299 loc->xl_ops = &ocfs2_xa_bucket_loc_ops; in ocfs2_init_xattr_bucket_xa_loc()
2300 loc->xl_storage = bucket; in ocfs2_init_xattr_bucket_xa_loc()
2301 loc->xl_header = bucket_xh(bucket); in ocfs2_init_xattr_bucket_xa_loc()
2302 loc->xl_entry = entry; in ocfs2_init_xattr_bucket_xa_loc()
2303 loc->xl_size = OCFS2_XATTR_BUCKET_SIZE; in ocfs2_init_xattr_bucket_xa_loc()
2765 struct ocfs2_xa_loc loc; in ocfs2_xattr_ibody_set() local
2780 ocfs2_init_dinode_xa_loc(&loc, inode, xs->inode_bh, in ocfs2_xattr_ibody_set()
2782 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_ibody_set()
2788 xs->here = loc.xl_entry; in ocfs2_xattr_ibody_set()
2949 struct ocfs2_xa_loc loc; in ocfs2_xattr_block_set() local
2969 ocfs2_init_xattr_block_xa_loc(&loc, inode, xs->xattr_bh, in ocfs2_xattr_block_set()
2972 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_block_set()
2974 xs->here = loc.xl_entry; in ocfs2_xattr_block_set()
5544 struct ocfs2_xa_loc loc; in ocfs2_xattr_set_entry_bucket() local
5548 ocfs2_init_xattr_bucket_xa_loc(&loc, xs->bucket, in ocfs2_xattr_set_entry_bucket()
5550 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5552 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()
5568 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5570 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()