Joel Becker 69a3e539d0 ocfs2: Set the xattr name+value pair in one place
We create two new functions on ocfs2_xa_loc, ocfs2_xa_prepare_entry()
and ocfs2_xa_store_inline_value().

ocfs2_xa_prepare_entry() makes sure that the xl_entry field of
ocfs2_xa_loc is ready to receive an xattr.  The entry will point to an
appropriately sized name+value region in storage.  If an existing entry
can be reused, it will be.  If no entry already exists, it will be
allocated.  If there isn't space to allocate it, -ENOSPC will be
returned.

ocfs2_xa_store_inline_value() stores the data that goes into the 'value'
part of the name+value pair.  For values that don't fit directly, this
stores the value tree root.

A number of operations are added to ocfs2_xa_loc_operations to support
these functions.  This reflects the disparate behaviors of xattr blocks
and buckets.

With these functions, the overlapping ocfs2_xattr_set_entry_local() and
ocfs2_xattr_set_entry_normal() can be replaced with a single call
scheme.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-02-26 15:41:10 -08:00
..
2010-02-08 13:01:31 -08:00
2009-10-28 23:05:57 -07:00
2009-09-22 20:09:36 -07:00
2009-07-21 15:47:55 -07:00
2009-04-03 11:39:16 -07:00
2009-09-22 20:09:37 -07:00
2009-10-28 23:05:57 -07:00
2008-10-13 13:57:57 -07:00
2008-10-13 13:57:57 -07:00
2009-10-28 23:05:57 -07:00
2009-09-27 11:39:25 -07:00
2008-02-03 17:33:42 +02:00
2009-12-10 15:02:51 +01:00
2009-09-22 20:09:51 -07:00
2008-01-25 15:05:46 -08:00
2009-10-28 23:05:57 -07:00