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,
1421 static int ocfs2_xa_journal_access(handle_t *handle, struct ocfs2_xa_loc *loc, in ocfs2_xa_journal_access() argument
1424 return loc->xl_ops->xlo_journal_access(handle, loc, type); in ocfs2_xa_journal_access()
1427 static void ocfs2_xa_journal_dirty(handle_t *handle, struct ocfs2_xa_loc *loc) in ocfs2_xa_journal_dirty() argument
1429 loc->xl_ops->xlo_journal_dirty(handle, loc); in ocfs2_xa_journal_dirty()
1433 static void *ocfs2_xa_offset_pointer(struct ocfs2_xa_loc *loc, int offset) in ocfs2_xa_offset_pointer() argument
1435 BUG_ON(offset >= loc->xl_size); in ocfs2_xa_offset_pointer()
1436 return loc->xl_ops->xlo_offset_pointer(loc, offset); in ocfs2_xa_offset_pointer()
1444 static void ocfs2_xa_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_wipe_namevalue() argument
1446 loc->xl_ops->xlo_wipe_namevalue(loc); in ocfs2_xa_wipe_namevalue()
1453 static int ocfs2_xa_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_get_free_start() argument
1455 return loc->xl_ops->xlo_get_free_start(loc); in ocfs2_xa_get_free_start()
1459 static int ocfs2_xa_can_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_can_reuse_entry() argument
1462 return loc->xl_ops->xlo_can_reuse(loc, xi); in ocfs2_xa_can_reuse_entry()
1466 static int ocfs2_xa_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_check_space() argument
1469 return loc->xl_ops->xlo_check_space(loc, xi); in ocfs2_xa_check_space()
1472 static void ocfs2_xa_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_add_entry() argument
1474 loc->xl_ops->xlo_add_entry(loc, name_hash); in ocfs2_xa_add_entry()
1475 loc->xl_entry->xe_name_hash = cpu_to_le32(name_hash); in ocfs2_xa_add_entry()
1481 loc->xl_entry->xe_name_offset = cpu_to_le16(loc->xl_size); in ocfs2_xa_add_entry()
1484 static void ocfs2_xa_add_namevalue(struct ocfs2_xa_loc *loc, in ocfs2_xa_add_namevalue() argument
1491 loc->xl_ops->xlo_add_namevalue(loc, size); in ocfs2_xa_add_namevalue()
1492 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_add_namevalue()
1493 loc->xl_entry->xe_name_len = xi->xi_name_len; in ocfs2_xa_add_namevalue()
1494 ocfs2_xattr_set_type(loc->xl_entry, xi->xi_name_index); in ocfs2_xa_add_namevalue()
1495 ocfs2_xattr_set_local(loc->xl_entry, in ocfs2_xa_add_namevalue()
1498 nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_add_namevalue()
1499 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_add_namevalue()
1504 static void ocfs2_xa_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_fill_value_buf() argument
1507 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_fill_value_buf()
1508 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_fill_value_buf()
1511 BUG_ON(ocfs2_xattr_is_local(loc->xl_entry)); in ocfs2_xa_fill_value_buf()
1512 BUG_ON(namevalue_size_xe(loc->xl_entry) != in ocfs2_xa_fill_value_buf()
1515 loc->xl_ops->xlo_fill_value_buf(loc, vb); in ocfs2_xa_fill_value_buf()
1517 (struct ocfs2_xattr_value_root *)ocfs2_xa_offset_pointer(loc, in ocfs2_xa_fill_value_buf()
1523 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_block_journal_access() argument
1525 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_access()
1528 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_journal_access()
1534 return access(handle, INODE_CACHE(loc->xl_inode), bh, type); in ocfs2_xa_block_journal_access()
1538 struct ocfs2_xa_loc *loc) in ocfs2_xa_block_journal_dirty() argument
1540 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_journal_dirty()
1545 static void *ocfs2_xa_block_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_offset_pointer() argument
1548 return (char *)loc->xl_header + offset; in ocfs2_xa_block_offset_pointer()
1551 static int ocfs2_xa_block_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_can_reuse() argument
1558 return namevalue_size_xe(loc->xl_entry) == in ocfs2_xa_block_can_reuse()
1562 static int ocfs2_xa_block_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_get_free_start() argument
1564 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_get_free_start()
1566 int offset, free_start = loc->xl_size; in ocfs2_xa_block_get_free_start()
1577 static int ocfs2_xa_block_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_check_space() argument
1580 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_check_space()
1581 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_check_space()
1589 if (loc->xl_entry) { in ocfs2_xa_block_check_space()
1591 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_block_check_space()
1594 needed_space -= ocfs2_xe_entry_usage(loc->xl_entry); in ocfs2_xa_block_check_space()
1605 static void ocfs2_xa_block_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_block_wipe_namevalue() argument
1609 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_block_wipe_namevalue()
1610 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_block_wipe_namevalue()
1615 first_namevalue_offset = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_wipe_namevalue()
1637 static void ocfs2_xa_block_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_block_add_entry() argument
1639 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_block_add_entry()
1640 loc->xl_entry = &(loc->xl_header->xh_entries[count]); in ocfs2_xa_block_add_entry()
1641 le16_add_cpu(&loc->xl_header->xh_count, 1); in ocfs2_xa_block_add_entry()
1642 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_block_add_entry()
1645 static void ocfs2_xa_block_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_block_add_namevalue() argument
1647 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_block_add_namevalue()
1649 loc->xl_entry->xe_name_offset = cpu_to_le16(free_start - size); in ocfs2_xa_block_add_namevalue()
1652 static void ocfs2_xa_block_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_block_fill_value_buf() argument
1655 struct buffer_head *bh = loc->xl_storage; in ocfs2_xa_block_fill_value_buf()
1657 if (loc->xl_size == (bh->b_size - in ocfs2_xa_block_fill_value_buf()
1684 struct ocfs2_xa_loc *loc, int type) in ocfs2_xa_bucket_journal_access() argument
1686 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_access()
1692 struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_journal_dirty() argument
1694 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_journal_dirty()
1699 static void *ocfs2_xa_bucket_offset_pointer(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_offset_pointer() argument
1702 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_offset_pointer()
1706 block = offset >> loc->xl_inode->i_sb->s_blocksize_bits; in ocfs2_xa_bucket_offset_pointer()
1707 block_offset = offset % loc->xl_inode->i_sb->s_blocksize; in ocfs2_xa_bucket_offset_pointer()
1712 static int ocfs2_xa_bucket_can_reuse(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_can_reuse() argument
1715 return namevalue_size_xe(loc->xl_entry) >= in ocfs2_xa_bucket_can_reuse()
1719 static int ocfs2_xa_bucket_get_free_start(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_get_free_start() argument
1721 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_get_free_start()
1739 static int ocfs2_xa_bucket_check_space(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_check_space() argument
1743 int count = le16_to_cpu(loc->xl_header->xh_count); in ocfs2_xa_bucket_check_space()
1744 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_check_space()
1747 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_check_space()
1755 if (loc->xl_entry) { in ocfs2_xa_bucket_check_space()
1757 if (ocfs2_xa_can_reuse_entry(loc, xi)) in ocfs2_xa_bucket_check_space()
1784 static void ocfs2_xa_bucket_wipe_namevalue(struct ocfs2_xa_loc *loc) in ocfs2_xa_bucket_wipe_namevalue() argument
1786 le16_add_cpu(&loc->xl_header->xh_name_value_len, in ocfs2_xa_bucket_wipe_namevalue()
1787 -namevalue_size_xe(loc->xl_entry)); in ocfs2_xa_bucket_wipe_namevalue()
1790 static void ocfs2_xa_bucket_add_entry(struct ocfs2_xa_loc *loc, u32 name_hash) in ocfs2_xa_bucket_add_entry() argument
1792 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_entry()
1821 loc->xl_entry = &xh->xh_entries[low]; in ocfs2_xa_bucket_add_entry()
1822 memset(loc->xl_entry, 0, sizeof(struct ocfs2_xattr_entry)); in ocfs2_xa_bucket_add_entry()
1825 static void ocfs2_xa_bucket_add_namevalue(struct ocfs2_xa_loc *loc, int size) in ocfs2_xa_bucket_add_namevalue() argument
1827 int free_start = ocfs2_xa_get_free_start(loc); in ocfs2_xa_bucket_add_namevalue()
1828 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_bucket_add_namevalue()
1829 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_add_namevalue()
1834 loc->xl_entry->xe_name_offset = cpu_to_le16(nameval_offset); in ocfs2_xa_bucket_add_namevalue()
1840 static void ocfs2_xa_bucket_fill_value_buf(struct ocfs2_xa_loc *loc, in ocfs2_xa_bucket_fill_value_buf() argument
1843 struct ocfs2_xattr_bucket *bucket = loc->xl_storage; in ocfs2_xa_bucket_fill_value_buf()
1844 struct super_block *sb = loc->xl_inode->i_sb; in ocfs2_xa_bucket_fill_value_buf()
1845 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_bucket_fill_value_buf()
1846 int size = namevalue_size_xe(loc->xl_entry); in ocfs2_xa_bucket_fill_value_buf()
1873 static unsigned int ocfs2_xa_value_clusters(struct ocfs2_xa_loc *loc) in ocfs2_xa_value_clusters() argument
1877 if (ocfs2_xattr_is_local(loc->xl_entry)) in ocfs2_xa_value_clusters()
1880 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_clusters()
1884 static int ocfs2_xa_value_truncate(struct ocfs2_xa_loc *loc, u64 bytes, in ocfs2_xa_value_truncate() argument
1890 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_value_truncate()
1891 trunc_rc = ocfs2_xattr_value_truncate(loc->xl_inode, &vb, bytes, in ocfs2_xa_value_truncate()
1904 access_rc = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_value_truncate()
1911 static void ocfs2_xa_remove_entry(struct ocfs2_xa_loc *loc) in ocfs2_xa_remove_entry() argument
1914 struct ocfs2_xattr_header *xh = loc->xl_header; in ocfs2_xa_remove_entry()
1915 struct ocfs2_xattr_entry *entry = loc->xl_entry; in ocfs2_xa_remove_entry()
1917 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_remove_entry()
1918 loc->xl_entry = NULL; in ocfs2_xa_remove_entry()
1962 static void ocfs2_xa_cleanup_value_truncate(struct ocfs2_xa_loc *loc, in ocfs2_xa_cleanup_value_truncate() argument
1966 unsigned int new_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_cleanup_value_truncate()
1967 char *nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_cleanup_value_truncate()
1968 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_cleanup_value_truncate()
1974 what, loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1976 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
1982 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1984 ocfs2_xa_remove_entry(loc); in ocfs2_xa_cleanup_value_truncate()
1990 loc->xl_entry->xe_name_len, nameval_buf, in ocfs2_xa_cleanup_value_truncate()
1994 static int ocfs2_xa_remove(struct ocfs2_xa_loc *loc, in ocfs2_xa_remove() argument
2000 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_remove()
2001 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_remove()
2002 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_remove()
2011 if (orig_clusters != ocfs2_xa_value_clusters(loc)) in ocfs2_xa_remove()
2013 ocfs2_xa_cleanup_value_truncate(loc, "removing", in ocfs2_xa_remove()
2020 ocfs2_xa_remove_entry(loc); in ocfs2_xa_remove()
2026 static void ocfs2_xa_install_value_root(struct ocfs2_xa_loc *loc) in ocfs2_xa_install_value_root() argument
2028 int name_size = OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len); in ocfs2_xa_install_value_root()
2031 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_install_value_root()
2032 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_install_value_root()
2041 static int ocfs2_xa_reuse_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_reuse_entry() argument
2049 int xe_local = ocfs2_xattr_is_local(loc->xl_entry); in ocfs2_xa_reuse_entry()
2052 BUG_ON(OCFS2_XATTR_SIZE(loc->xl_entry->xe_name_len) != in ocfs2_xa_reuse_entry()
2055 nameval_buf = ocfs2_xa_offset_pointer(loc, in ocfs2_xa_reuse_entry()
2056 le16_to_cpu(loc->xl_entry->xe_name_offset)); in ocfs2_xa_reuse_entry()
2059 namevalue_size_xe(loc->xl_entry) - name_size); in ocfs2_xa_reuse_entry()
2061 ocfs2_xa_install_value_root(loc); in ocfs2_xa_reuse_entry()
2063 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_reuse_entry()
2065 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_reuse_entry()
2070 namevalue_size_xe(loc->xl_entry) - in ocfs2_xa_reuse_entry()
2072 } else if (le64_to_cpu(loc->xl_entry->xe_value_size) > in ocfs2_xa_reuse_entry()
2074 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, in ocfs2_xa_reuse_entry()
2081 ocfs2_xa_cleanup_value_truncate(loc, "reusing", in ocfs2_xa_reuse_entry()
2087 loc->xl_entry->xe_value_size = cpu_to_le64(xi->xi_value_len); in ocfs2_xa_reuse_entry()
2088 ocfs2_xattr_set_local(loc->xl_entry, xi_local); in ocfs2_xa_reuse_entry()
2102 static int ocfs2_xa_prepare_entry(struct ocfs2_xa_loc *loc, in ocfs2_xa_prepare_entry() argument
2111 rc = ocfs2_xa_check_space(loc, xi); in ocfs2_xa_prepare_entry()
2115 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2116 if (ocfs2_xa_can_reuse_entry(loc, xi)) { in ocfs2_xa_prepare_entry()
2117 orig_value_size = loc->xl_entry->xe_value_size; in ocfs2_xa_prepare_entry()
2118 rc = ocfs2_xa_reuse_entry(loc, xi, ctxt); in ocfs2_xa_prepare_entry()
2124 if (!ocfs2_xattr_is_local(loc->xl_entry)) { in ocfs2_xa_prepare_entry()
2125 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2126 rc = ocfs2_xa_value_truncate(loc, 0, ctxt); in ocfs2_xa_prepare_entry()
2129 ocfs2_xa_cleanup_value_truncate(loc, in ocfs2_xa_prepare_entry()
2135 ocfs2_xa_wipe_namevalue(loc); in ocfs2_xa_prepare_entry()
2137 ocfs2_xa_add_entry(loc, name_hash); in ocfs2_xa_prepare_entry()
2143 ocfs2_xa_add_namevalue(loc, xi); in ocfs2_xa_prepare_entry()
2145 ocfs2_xa_install_value_root(loc); in ocfs2_xa_prepare_entry()
2149 orig_clusters = ocfs2_xa_value_clusters(loc); in ocfs2_xa_prepare_entry()
2150 rc = ocfs2_xa_value_truncate(loc, xi->xi_value_len, ctxt); in ocfs2_xa_prepare_entry()
2153 ocfs2_xa_cleanup_value_truncate(loc, "growing", in ocfs2_xa_prepare_entry()
2161 if (loc->xl_entry) { in ocfs2_xa_prepare_entry()
2163 loc->xl_entry->xe_value_size = orig_value_size; in ocfs2_xa_prepare_entry()
2178 static int ocfs2_xa_store_value(struct ocfs2_xa_loc *loc, in ocfs2_xa_store_value() argument
2183 int nameval_offset = le16_to_cpu(loc->xl_entry->xe_name_offset); in ocfs2_xa_store_value()
2188 nameval_buf = ocfs2_xa_offset_pointer(loc, nameval_offset); in ocfs2_xa_store_value()
2190 ocfs2_xa_fill_value_buf(loc, &vb); in ocfs2_xa_store_value()
2191 rc = __ocfs2_xattr_set_value_outside(loc->xl_inode, in ocfs2_xa_store_value()
2201 static int ocfs2_xa_set(struct ocfs2_xa_loc *loc, in ocfs2_xa_set() argument
2206 u32 name_hash = ocfs2_xattr_name_hash(loc->xl_inode, xi->xi_name, in ocfs2_xa_set()
2209 ret = ocfs2_xa_journal_access(ctxt->handle, loc, in ocfs2_xa_set()
2224 ret = ocfs2_xa_remove(loc, ctxt); in ocfs2_xa_set()
2228 ret = ocfs2_xa_prepare_entry(loc, xi, name_hash, ctxt); in ocfs2_xa_set()
2235 ret = ocfs2_xa_store_value(loc, xi, ctxt); in ocfs2_xa_set()
2240 ocfs2_xa_journal_dirty(ctxt->handle, loc); in ocfs2_xa_set()
2246 static void ocfs2_init_dinode_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_dinode_xa_loc() argument
2255 loc->xl_inode = inode; in ocfs2_init_dinode_xa_loc()
2256 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_dinode_xa_loc()
2257 loc->xl_storage = bh; in ocfs2_init_dinode_xa_loc()
2258 loc->xl_entry = entry; in ocfs2_init_dinode_xa_loc()
2259 loc->xl_size = le16_to_cpu(di->i_xattr_inline_size); in ocfs2_init_dinode_xa_loc()
2260 loc->xl_header = in ocfs2_init_dinode_xa_loc()
2262 loc->xl_size); in ocfs2_init_dinode_xa_loc()
2265 static void ocfs2_init_xattr_block_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_block_xa_loc() argument
2275 loc->xl_inode = inode; in ocfs2_init_xattr_block_xa_loc()
2276 loc->xl_ops = &ocfs2_xa_block_loc_ops; in ocfs2_init_xattr_block_xa_loc()
2277 loc->xl_storage = bh; in ocfs2_init_xattr_block_xa_loc()
2278 loc->xl_header = &(xb->xb_attrs.xb_header); in ocfs2_init_xattr_block_xa_loc()
2279 loc->xl_entry = entry; in ocfs2_init_xattr_block_xa_loc()
2280 loc->xl_size = bh->b_size - offsetof(struct ocfs2_xattr_block, in ocfs2_init_xattr_block_xa_loc()
2284 static void ocfs2_init_xattr_bucket_xa_loc(struct ocfs2_xa_loc *loc, in ocfs2_init_xattr_bucket_xa_loc() argument
2288 loc->xl_inode = bucket->bu_inode; in ocfs2_init_xattr_bucket_xa_loc()
2289 loc->xl_ops = &ocfs2_xa_bucket_loc_ops; in ocfs2_init_xattr_bucket_xa_loc()
2290 loc->xl_storage = bucket; in ocfs2_init_xattr_bucket_xa_loc()
2291 loc->xl_header = bucket_xh(bucket); in ocfs2_init_xattr_bucket_xa_loc()
2292 loc->xl_entry = entry; in ocfs2_init_xattr_bucket_xa_loc()
2293 loc->xl_size = OCFS2_XATTR_BUCKET_SIZE; in ocfs2_init_xattr_bucket_xa_loc()
2755 struct ocfs2_xa_loc loc; in ocfs2_xattr_ibody_set() local
2777 ocfs2_init_dinode_xa_loc(&loc, inode, xs->inode_bh, in ocfs2_xattr_ibody_set()
2779 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_ibody_set()
2785 xs->here = loc.xl_entry; in ocfs2_xattr_ibody_set()
2940 struct ocfs2_xa_loc loc; in ocfs2_xattr_block_set() local
2960 ocfs2_init_xattr_block_xa_loc(&loc, inode, xs->xattr_bh, in ocfs2_xattr_block_set()
2963 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_block_set()
2965 xs->here = loc.xl_entry; in ocfs2_xattr_block_set()
5539 struct ocfs2_xa_loc loc; in ocfs2_xattr_set_entry_bucket() local
5543 ocfs2_init_xattr_bucket_xa_loc(&loc, xs->bucket, in ocfs2_xattr_set_entry_bucket()
5545 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5547 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()
5563 ret = ocfs2_xa_set(&loc, xi, ctxt); in ocfs2_xattr_set_entry_bucket()
5565 xs->here = loc.xl_entry; in ocfs2_xattr_set_entry_bucket()