xfs: remove local fork format handling from xfs_bmapi_write()
authorDave Chinner <dchinner@redhat.com>
Tue, 9 Jul 2013 21:04:00 +0000 (07:04 +1000)
committerBen Myers <bpm@sgi.com>
Tue, 9 Jul 2013 21:40:22 +0000 (16:40 -0500)
commitf3508bcddf8fae6ebd21000d708cf09e7e77a963
treef01d4bbda169c5929a7ec8908c81b02c530fba69
parent3e5b7d8b491c3710b7e007eab0a643f923932e3d
xfs: remove local fork format handling from xfs_bmapi_write()

The conversion from local format to extent format requires
interpretation of the data in the fork being converted, so it cannot
be done in a generic way. It is up to the caller to convert the fork
format to extent format before calling into xfs_bmapi_write() so
format conversion can be done correctly.

The code in xfs_bmapi_write() to convert the format is used
implicitly by the attribute and directory code, but they
specifically zero the fork size so that the conversion does not do
any allocation or manipulation. Move this conversion into the
shortform to leaf functions for the dir/attr code so the conversions
are explicitly controlled by all callers.

Now we can remove the conversion code in xfs_bmapi_write.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_attr_leaf.c
fs/xfs/xfs_bmap.c
fs/xfs/xfs_bmap.h
fs/xfs/xfs_dir2_block.c