Joel Becker wrote:
> The ocfs2_xattr_bucket structure is a nice abstraction, but it is a bit
> large to have on the stack. Just like ocfs2_path, let's allocate it
> with a ocfs2_xattr_bucket_new() function.
>
> We can now store the inode on the bucket, cleaning up all the other
> bucket functions. While we're here, we catch another place or two that
> wasn't using ocfs2_read_xattr_bucket().
>
> Signed-off-by: Joel Becker <[EMAIL PROTECTED]>
> ---
> +
> +static void ocfs2_xattr_bucket_relse(struct ocfs2_xattr_bucket *bucket)
> {
> - int i, blks = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
> + int i;
>
> - for (i = 0; i < blks; i++) {
> + for (i = 0; i < bucket->bu_blocks; i++) {
> brelse(bucket->bu_bhs[i]);
> bucket->bu_bhs[i] = NULL;
> }
> }
>
> +static void ocfs2_xattr_bucket_free(struct ocfs2_xattr_bucket *bucket)
> +{
> + if (bucket) {
> + ocfs2_xattr_bucket_relse(bucket);
> + bucket->bu_inode = NULL;
we need "kfree(bucket)" here.
> + }
> +}
Regards,
Tao
_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel