> +static int ocfs2_xattr_shrink_size(struct inode *inode,
> +                                u32 old_clusters,
> +                                u32 new_clusters,
> +                                struct buffer_head *root_bh,
> +                                struct ocfs2_xattr_value_root *xv)
> +{
> +     int ret = 0;
> +     u32 trunc_len, cpos, phys_cpos, alloc_size;
> +     struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
> +     struct ocfs2_cached_dealloc_ctxt dealloc;
> +
> +     ocfs2_init_dealloc_ctxt(&dealloc);
> +
> +     if (old_clusters <= new_clusters)
> +             return 0;
> +
> +     cpos = new_clusters;
> +     trunc_len = old_clusters - new_clusters;
> +     while (trunc_len) {
> +             ret = ocfs2_xattr_get_clusters(inode, cpos, &phys_cpos,
> +                                            &alloc_size, &xv->xr_list);
> +             if (ret) {
> +                     mlog_errno(ret);
> +                     goto out;
> +             }
> +
> +             if (alloc_size > trunc_len)
> +                     alloc_size = trunc_len;
> +
> +             ret = __ocfs2_remove_xattr_range(inode, root_bh, xv, cpos,
> +                                              phys_cpos, alloc_size,
> +                                              &dealloc);
> +             if (ret) {
> +                     mlog_errno(ret);
> +                     goto out;
> +             }
> +
> +             cpos += alloc_size;
> +             trunc_len -= alloc_size;
> +     }
> +
> +out:
> +     ocfs2_schedule_truncate_log_flush(osb, 1);
> +     ocfs2_run_deallocs(osb, &dealloc);
> +
> +     return ret;
> +     return 0;
> +}

You have two 'return' statements here.
        --Mark

--
Mark Fasheh

_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to