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,
1425 static int ocfs2_xa_journal_access(handle_t *handle, struct ocfs2_xa_loc *loc, in ocfs2_xa_journal_access() argument
1428 return loc->xl_ops->xlo_journal_access(handle, loc, type); in ocfs2_xa_journal_access()
1431 static void ocfs2_xa_journal_dirty(handle_t *handle, struct ocfs2_xa_loc *loc) in ocfs2_xa_journal_dirty() argument
1433 loc->xl_ops->xlo_journal_dirty(handle, loc); in ocfs2_xa_journal_dirty()
1437 static void *ocfs2_xa_offset_pointer(struct ocfs2_xa_loc *loc, int offset) in ocfs2_xa_offset_pointer() argument
1439 BUG_ON(offset >= loc->xl_size); in ocfs2_xa_offset_pointer()
1440 return loc->xl_ops->xlo_offset_pointer(loc, offset); in ocfs2_xa_offset_pointer()
1448 static void ocfs2_xa_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_wipe_namevalue() argument
1450 loc->xl_ops->xlo_wipe_namevalue(loc); in ocfs2_xa_wipe_namevalue()
1457 static int ocfs2_xa_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_get_free_start() argument
1459 return loc->xl_ops->xlo_get_free_start(loc); in ocfs2_xa_get_free_start()
1463 static int ocfs2_xa_can_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_can_reuse_entry() argument
1466 return loc->xl_ops->xlo_can_reuse(loc, xi); in ocfs2_xa_can_reuse_entry()
1470 static int ocfs2_xa_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_check_space() argument
1473 return loc->xl_ops->xlo_check_space(loc, xi); in ocfs2_xa_check_space()
1476 static void ocfs2_xa_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_add_entry() argument
1478 loc->xl_ops->xlo_add_entry(loc, name_hash); in ocfs2_xa_add_entry()
1479 loc->xl_entry->xe_name_hash = cpu_to_le32(name_hash); in ocfs2_xa_add_entry()
1485 loc->xl_entry->xe_name_offset = cpu_to_le16(loc->xl_size); in ocfs2_xa_add_entry()
1488 static void ocfs2_xa_add_namevalue(struct ocfs2_xa_loc *loc, in ocfs2_xa_add_namevalue() argument
1495 loc->xl_ops->xlo_add_namevalue(loc, size); in ocfs2_xa_add_namevalue()
1496 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_add_namevalue()
1497 loc->xl_entry->xe_name_len = xi->xi_name_len; in ocfs2_xa_add_namevalue()
1498 ocfs2_xattr_set_type(loc->xl_entry, xi->xi_name_index); in ocfs2_xa_add_namevalue()
1499 ocfs2_xattr_set_local(loc->xl_entry, in ocfs2_xa_add_namevalue()
1502 nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_add_namevalue()
1503 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_add_namevalue()
1508 static void ocfs2_xa_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_fill_value_buf() argument
1511 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_fill_value_buf()
1512 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_fill_value_buf()
1515 BUG_ON(ocfs2_xattr_is_local(loc->xl_entry)); in ocfs2_xa_fill_value_buf()
1516 BUG_ON(namevalue_size_xe(loc->xl_entry) != in ocfs2_xa_fill_value_buf()
1519 loc->xl_ops->xlo_fill_value_buf(loc, vb); in ocfs2_xa_fill_value_buf()
1521 (struct ocfs2_xattr_value_root *)ocfs2_xa_offset_pointer(loc, in ocfs2_xa_fill_value_buf()
1527 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_block_journal_access() argument
1529 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_access()
1532 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_journal_access()
1538 return access(handle, INODE_CACHE(loc->xl_inode), bh, type); in ocfs2_xa_block_journal_access()
1542 struct ocfs2_xa_loc *loc) in ocfs2_xa_block_journal_dirty() argument
1544 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_dirty()
1549 static void *ocfs2_xa_block_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_offset_pointer() argument
1552 return (char *)loc->xl_header + offset; in ocfs2_xa_block_offset_pointer()
1555 static int ocfs2_xa_block_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_can_reuse() argument
1562 return namevalue_size_xe(loc->xl_entry) == in ocfs2_xa_block_can_reuse()
1566 static int ocfs2_xa_block_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_get_free_start() argument
1568 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_get_free_start()
1570 int offset, free_start = loc->xl_size; in ocfs2_xa_block_get_free_start()
1581 static int ocfs2_xa_block_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_check_space() argument
1584 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_check_space()
1585 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_check_space()
1593 if (loc->xl_entry) { in ocfs2_xa_block_check_space()
1595 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_block_check_space()
1598 needed_space -= ocfs2_xe_entry_usage(loc->xl_entry); in ocfs2_xa_block_check_space()
1609 static void ocfs2_xa_block_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_wipe_namevalue() argument
1613 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_block_wipe_namevalue()
1614 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_wipe_namevalue()
1619 first_namevalue_offset = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_wipe_namevalue()
1641 static void ocfs2_xa_block_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_block_add_entry() argument
1643 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_add_entry()
1644 loc->xl_entry = &(loc->xl_header->xh_entries[count]); in ocfs2_xa_block_add_entry()
1645 le16_add_cpu(&loc->xl_header->xh_count, 1); in ocfs2_xa_block_add_entry()
1646 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_block_add_entry()
1649 static void ocfs2_xa_block_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_block_add_namevalue() argument
1651 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_add_namevalue()
1653 loc->xl_entry->xe_name_offset = cpu_to_le16(free_start - size); in ocfs2_xa_block_add_namevalue()
1656 static void ocfs2_xa_block_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_fill_value_buf() argument
1659 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_fill_value_buf()
1661 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_fill_value_buf()
1688 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_bucket_journal_access() argument
1690 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_access()
1696 struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_journal_dirty() argument
1698 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_dirty()
1703 static void *ocfs2_xa_bucket_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_offset_pointer() argument
1706 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_offset_pointer()
1710 block = offset >> loc->xl_inode->i_sb->s_blocksize_bits; in ocfs2_xa_bucket_offset_pointer()
1711 block_offset = offset % loc->xl_inode->i_sb->s_blocksize; in ocfs2_xa_bucket_offset_pointer()
1716 static int ocfs2_xa_bucket_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_can_reuse() argument
1719 return namevalue_size_xe(loc->xl_entry) >= in ocfs2_xa_bucket_can_reuse()
1723 static int ocfs2_xa_bucket_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_get_free_start() argument
1725 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_get_free_start()
1743 static int ocfs2_xa_bucket_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_check_space() argument
1747 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_bucket_check_space()
1748 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_check_space()
1751 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_check_space()
1759 if (loc->xl_entry) { in ocfs2_xa_bucket_check_space()
1761 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_bucket_check_space()
1788 static void ocfs2_xa_bucket_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_wipe_namevalue() argument
1790 le16_add_cpu(&loc->xl_header->xh_name_value_len, in ocfs2_xa_bucket_wipe_namevalue()
1791 -namevalue_size_xe(loc->xl_entry)); in ocfs2_xa_bucket_wipe_namevalue()
1794 static void ocfs2_xa_bucket_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_bucket_add_entry() argument
1796 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_entry()
1825 loc->xl_entry = &xh->xh_entries[low]; in ocfs2_xa_bucket_add_entry()
1826 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_bucket_add_entry()
1829 static void ocfs2_xa_bucket_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_bucket_add_namevalue() argument
1831 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_add_namevalue()
1832 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_namevalue()
1833 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_add_namevalue()
1838 loc->xl_entry->xe_name_offset = cpu_to_le16(nameval_offset); in ocfs2_xa_bucket_add_namevalue()
1844 static void ocfs2_xa_bucket_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_fill_value_buf() argument
1847 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_fill_value_buf()
1848 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_fill_value_buf()
1849 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_bucket_fill_value_buf()
1850 int size = namevalue_size_xe(loc->xl_entry); in ocfs2_xa_bucket_fill_value_buf()
1877 static unsigned int ocfs2_xa_value_clusters(struct ocfs2_xa_loc *loc) in ocfs2_xa_value_clusters() argument
1881 if (ocfs2_xattr_is_local(loc->xl_entry)) in ocfs2_xa_value_clusters()
1884 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_clusters()
1888 static int ocfs2_xa_value_truncate(struct ocfs2_xa_loc *loc, u64 bytes, in ocfs2_xa_value_truncate() argument
1894 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_truncate()
1895 trunc_rc = ocfs2_xattr_value_truncate(loc->xl_inode, &vb, bytes, in ocfs2_xa_value_truncate()
1908 access_rc = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_value_truncate()
1915 static void ocfs2_xa_remove_entry(struct ocfs2_xa_loc *loc) in ocfs2_xa_remove_entry() argument
1918 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_remove_entry()
1919 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_remove_entry()
1921 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_remove_entry()
1922 loc->xl_entry = NULL; in ocfs2_xa_remove_entry()
1966 static void ocfs2_xa_cleanup_value_truncate(struct ocfs2_xa_loc *loc, in ocfs2_xa_cleanup_value_truncate() argument
1970 unsigned int new_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_cleanup_value_truncate()
1971 char *nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_cleanup_value_truncate()
1972 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_cleanup_value_truncate()
1978 what, loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1980 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
1986 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1988 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
1994 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1998 static int ocfs2_xa_remove(struct ocfs2_xa_loc *loc, in ocfs2_xa_remove() argument
2004 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_remove()
2005 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_remove()
2006 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_remove()
2015 if (orig_clusters != ocfs2_xa_value_clusters(loc)) in ocfs2_xa_remove()
2017 ocfs2_xa_cleanup_value_truncate(loc, "removing", in ocfs2_xa_remove()
2024 ocfs2_xa_remove_entry(loc); in ocfs2_xa_remove()
2030 static void ocfs2_xa_install_value_root(struct ocfs2_xa_loc *loc) in ocfs2_xa_install_value_root() argument
2032 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_install_value_root()
2035 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_install_value_root()
2036 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_install_value_root()
2045 static int ocfs2_xa_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_reuse_entry() argument
2053 int xe_local = ocfs2_xattr_is_local(loc->xl_entry); in ocfs2_xa_reuse_entry()
2056 BUG_ON(OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len) != in ocfs2_xa_reuse_entry()
2059 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_reuse_entry()
2060 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_reuse_entry()
2063 namevalue_size_xe(loc->xl_entry) - name_size); in ocfs2_xa_reuse_entry()
2065 ocfs2_xa_install_value_root(loc); in ocfs2_xa_reuse_entry()
2067 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_reuse_entry()
2069 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_reuse_entry()
2074 namevalue_size_xe(loc->xl_entry) - in ocfs2_xa_reuse_entry()
2076 } else if (le64_to_cpu(loc->xl_entry->xe_value_size) > in ocfs2_xa_reuse_entry()
2078 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, in ocfs2_xa_reuse_entry()
2085 ocfs2_xa_cleanup_value_truncate(loc, "reusing", in ocfs2_xa_reuse_entry()
2091 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_reuse_entry()
2092 ocfs2_xattr_set_local(loc->xl_entry, xi_local); in ocfs2_xa_reuse_entry()
2106 static int ocfs2_xa_prepare_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_prepare_entry() argument
2115 rc = ocfs2_xa_check_space(loc, xi); in ocfs2_xa_prepare_entry()
2119 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2120 if (ocfs2_xa_can_reuse_entry(loc, xi)) { in ocfs2_xa_prepare_entry()
2121 orig_value_size = loc->xl_entry->xe_value_size; in ocfs2_xa_prepare_entry()
2122 rc = ocfs2_xa_reuse_entry(loc, xi, ctxt); in ocfs2_xa_prepare_entry()
2128 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_prepare_entry()
2129 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2130 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_prepare_entry()
2133 ocfs2_xa_cleanup_value_truncate(loc, in ocfs2_xa_prepare_entry()
2139 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_prepare_entry()
2141 ocfs2_xa_add_entry(loc, name_hash); in ocfs2_xa_prepare_entry()
2147 ocfs2_xa_add_namevalue(loc, xi); in ocfs2_xa_prepare_entry()
2149 ocfs2_xa_install_value_root(loc); in ocfs2_xa_prepare_entry()
2153 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2154 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, ctxt); in ocfs2_xa_prepare_entry()
2157 ocfs2_xa_cleanup_value_truncate(loc, "growing", in ocfs2_xa_prepare_entry()
2165 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2167 loc->xl_entry->xe_value_size = orig_value_size; in ocfs2_xa_prepare_entry()
2182 static int ocfs2_xa_store_value(struct ocfs2_xa_loc *loc, in ocfs2_xa_store_value() argument
2187 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_store_value()
2192 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_store_value()
2194 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_store_value()
2195 rc = __ocfs2_xattr_set_value_outside(loc->xl_inode, in ocfs2_xa_store_value()
2205 static int ocfs2_xa_set(struct ocfs2_xa_loc *loc, in ocfs2_xa_set() argument
2210 u32 name_hash = ocfs2_xattr_name_hash(loc->xl_inode, xi->xi_name, in ocfs2_xa_set()
2213 ret = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_set()
2228 ret = ocfs2_xa_remove(loc, ctxt); in ocfs2_xa_set()
2232 ret = ocfs2_xa_prepare_entry(loc, xi, name_hash, ctxt); in ocfs2_xa_set()
2239 ret = ocfs2_xa_store_value(loc, xi, ctxt); in ocfs2_xa_set()
2244 ocfs2_xa_journal_dirty(ctxt->handle, loc); in ocfs2_xa_set()
2250 static void ocfs2_init_dinode_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_dinode_xa_loc() argument
2259 loc->xl_inode = inode; in ocfs2_init_dinode_xa_loc()
2260 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_dinode_xa_loc()
2261 loc->xl_storage = bh; in ocfs2_init_dinode_xa_loc()
2262 loc->xl_entry = entry; in ocfs2_init_dinode_xa_loc()
2263 loc->xl_size = le16_to_cpu(di->i_xattr_inline_size); in ocfs2_init_dinode_xa_loc()
2264 loc->xl_header = in ocfs2_init_dinode_xa_loc()
2266 loc->xl_size); in ocfs2_init_dinode_xa_loc()
2269 static void ocfs2_init_xattr_block_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_block_xa_loc() argument
2279 loc->xl_inode = inode; in ocfs2_init_xattr_block_xa_loc()
2280 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_xattr_block_xa_loc()
2281 loc->xl_storage = bh; in ocfs2_init_xattr_block_xa_loc()
2282 loc->xl_header = &(xb->xb_attrs.xb_header); in ocfs2_init_xattr_block_xa_loc()
2283 loc->xl_entry = entry; in ocfs2_init_xattr_block_xa_loc()
2284 loc->xl_size = bh->b_size - offsetof(struct ocfs2_xattr_block, in ocfs2_init_xattr_block_xa_loc()
2288 static void ocfs2_init_xattr_bucket_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_bucket_xa_loc() argument
2292 loc->xl_inode = bucket->bu_inode; in ocfs2_init_xattr_bucket_xa_loc()
2293 loc->xl_ops = &ocfs2_xa_bucket_loc_ops; in ocfs2_init_xattr_bucket_xa_loc()
2294 loc->xl_storage = bucket; in ocfs2_init_xattr_bucket_xa_loc()
2295 loc->xl_header = bucket_xh(bucket); in ocfs2_init_xattr_bucket_xa_loc()
2296 loc->xl_entry = entry; in ocfs2_init_xattr_bucket_xa_loc()
2297 loc->xl_size = OCFS2_XATTR_BUCKET_SIZE; in ocfs2_init_xattr_bucket_xa_loc()
2759 struct ocfs2_xa_loc loc; in ocfs2_xattr_ibody_set() local
2774 ocfs2_init_dinode_xa_loc(&loc, inode, xs->inode_bh, in ocfs2_xattr_ibody_set()
2776 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_ibody_set()
2782 xs->here = loc.xl_entry; in ocfs2_xattr_ibody_set()
2943 struct ocfs2_xa_loc loc; in ocfs2_xattr_block_set() local
2963 ocfs2_init_xattr_block_xa_loc(&loc, inode, xs->xattr_bh, in ocfs2_xattr_block_set()
2966 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_block_set()
2968 xs->here = loc.xl_entry; in ocfs2_xattr_block_set()
5536 struct ocfs2_xa_loc loc; in ocfs2_xattr_set_entry_bucket() local
5540 ocfs2_init_xattr_bucket_xa_loc(&loc, xs->bucket, in ocfs2_xattr_set_entry_bucket()
5542 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5544 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()
5560 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5562 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()