[Ocfs2-tools-devel] [PATCH] fsck.ocfs2: Update xattr tree if there is a change.
Jun Yang
tiger.yang at oracle.com
Wed Dec 2 00:30:29 PST 2009
Acked-by: Tiger Yang <tiger.yang at oracle.com>
On 11/27/2009 02:29 PM, Tao Ma wrote:
> When we check the xattr tree, we check the ocfs2_extent_list first and
> then every ocfs2_extent_rec one by one.
> So we'd better write the tree if there is really a change so that
> the later ocfs2_xattr_get_rec can get the update tree information.
>
> Signed-off-by: Tao Ma<tao.ma at oracle.com>
> Cc: Tiger Yang<tiger.yang at oracle.com>
> ---
> fsck.ocfs2/xattr.c | 15 +++++++++++++++
> 1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/fsck.ocfs2/xattr.c b/fsck.ocfs2/xattr.c
> index 98d81f7..e1bad59 100644
> --- a/fsck.ocfs2/xattr.c
> +++ b/fsck.ocfs2/xattr.c
> @@ -607,6 +607,21 @@ static errcode_t o2fsck_check_xattr_index_block(o2fsck_state *ost,
> if (ret)
> return ret;
>
> + /*
> + * We need to write the changed xattr tree first so that the following
> + * ocfs2_xattr_get_rec can get the updated information.
> + */
> + if (*changed) {
> + ret = ocfs2_write_xattr_block(ost->ost_fs,
> + di->i_xattr_loc, (char *)xb);
> + if (ret) {
> + com_err(whoami, ret, "while writing root block of"
> + " extended attributes ");
> + return ret;
> + }
> + }
> +
> +
> while (name_hash> 0) {
> ret = ocfs2_xattr_get_rec(ost->ost_fs, xb, name_hash,&p_blkno,
> &e_cpos,&num_clusters);
More information about the Ocfs2-tools-devel
mailing list