[Ocfs2-devel] [PATCH 07/16] Add extent tree operation for xattr value.

Joel Becker Joel.Becker at oracle.com
Wed Aug 20 17:57:37 PDT 2008


On Mon, Aug 18, 2008 at 05:38:48PM +0800, Tao Ma wrote:
> Add some thin wrappers around ocfs2_insert_extent.
> 3 functions ocfs2_inode_insert_extent, ocfs2_xattr_value_insert_extent and
> ocfs2_xattr_tree_insert_extent(for xattr index btree, and it will show up
> in the last patch). All the old callers in file.c etc will call
> ocfs2_dinode_insert_extent, while the other two handle the xattr issue.
> And the init of extent tree are handled by these functions.

<snip>

	I see in this patch that ocfs2_*_insert_extent() become wrappers
around the now-static ocfs2_insert_extent().  That makes me wonder the
following:

> +static int ocfs2_insert_extent(struct ocfs2_super *osb,
> +			       handle_t *handle,
> +			       struct inode *inode,
> +			       struct buffer_head *root_bh,
> +			       u32 cpos,
> +			       u64 start_blk,
> +			       u32 new_clusters,
> +			       u8 flags,
> +			       struct ocfs2_alloc_context *meta_ac,
> +			       struct ocfs2_extent_tree *et)
>  {
>  	int status;
>  	int uninitialized_var(free_records);
>  	struct buffer_head *last_eb_bh = NULL;
>  	struct ocfs2_insert_type insert = {0, };
>  	struct ocfs2_extent_rec rec;
> -	struct ocfs2_extent_tree *et = NULL;
>  
>  	BUG_ON(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL);

	Can't an inline data inode have non-inline xattrs?  Won't this
BUG when growing that xattr extent tree?
	Next, a few lines down:

        mlog_bug_on_msg(!ocfs2_sparse_alloc(osb) &&
                        (OCFS2_I(inode)->ip_clusters != cpos),
                        "Device %s, asking for sparse allocation: inode %llu, "
                        "cpos %u, clusters %u\n",
                        osb->dev_str,
                        (unsigned long long)OCFS2_I(inode)->ip_blkno, cpos,
                        OCFS2_I(inode)->ip_clusters);

Won't that BUG() when cpos of an xattr extent is not matching the
ip_clusters of the data?

Joel

-- 

"You look in her eyes, the music begins to play.
 Hopeless romantics, here we go again."

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127



More information about the Ocfs2-devel mailing list