Lines Matching refs:context

56 	int (*get_clusters)(struct ocfs2_cow_context *context,
3106 struct ocfs2_cow_context *context, in ocfs2_replace_clusters() argument
3112 struct ocfs2_caching_info *ci = context->data_et.et_ci; in ocfs2_replace_clusters()
3120 ret = context->cow_duplicate_clusters(handle, context->inode, in ocfs2_replace_clusters()
3128 ret = ocfs2_clear_ext_refcount(handle, &context->data_et, in ocfs2_replace_clusters()
3130 context->meta_ac, &context->dealloc); in ocfs2_replace_clusters()
3157 static int ocfs2_di_get_clusters(struct ocfs2_cow_context *context, in ocfs2_di_get_clusters() argument
3162 return ocfs2_get_clusters(context->inode, v_cluster, p_cluster, in ocfs2_di_get_clusters()
3167 struct ocfs2_cow_context *context, in ocfs2_make_clusters_writable() argument
3177 struct ocfs2_caching_info *ref_ci = &context->ref_tree->rf_ci; in ocfs2_make_clusters_writable()
3184 &context->data_et, in ocfs2_make_clusters_writable()
3186 context->ref_root_bh, in ocfs2_make_clusters_writable()
3187 &context->meta_ac, in ocfs2_make_clusters_writable()
3188 &context->data_ac, &credits); in ocfs2_make_clusters_writable()
3194 if (context->post_refcount) in ocfs2_make_clusters_writable()
3195 credits += context->post_refcount->credits; in ocfs2_make_clusters_writable()
3197 credits += context->extra_credits; in ocfs2_make_clusters_writable()
3208 ret = ocfs2_get_refcount_rec(ref_ci, context->ref_root_bh, in ocfs2_make_clusters_writable()
3231 &context->data_et, in ocfs2_make_clusters_writable()
3234 context->meta_ac, in ocfs2_make_clusters_writable()
3235 &context->dealloc); in ocfs2_make_clusters_writable()
3244 context->data_ac, in ocfs2_make_clusters_writable()
3252 ret = ocfs2_replace_clusters(handle, context, in ocfs2_make_clusters_writable()
3263 context->ref_root_bh, in ocfs2_make_clusters_writable()
3265 context->meta_ac, in ocfs2_make_clusters_writable()
3266 &context->dealloc, delete); in ocfs2_make_clusters_writable()
3280 if (context->post_refcount && context->post_refcount->func) { in ocfs2_make_clusters_writable()
3281 ret = context->post_refcount->func(context->inode, handle, in ocfs2_make_clusters_writable()
3282 context->post_refcount->para); in ocfs2_make_clusters_writable()
3293 if (context->get_clusters == ocfs2_di_get_clusters) { in ocfs2_make_clusters_writable()
3294 ret = ocfs2_cow_sync_writeback(sb, context->inode, cpos, in ocfs2_make_clusters_writable()
3304 if (context->data_ac) { in ocfs2_make_clusters_writable()
3305 ocfs2_free_alloc_context(context->data_ac); in ocfs2_make_clusters_writable()
3306 context->data_ac = NULL; in ocfs2_make_clusters_writable()
3308 if (context->meta_ac) { in ocfs2_make_clusters_writable()
3309 ocfs2_free_alloc_context(context->meta_ac); in ocfs2_make_clusters_writable()
3310 context->meta_ac = NULL; in ocfs2_make_clusters_writable()
3317 static int ocfs2_replace_cow(struct ocfs2_cow_context *context) in ocfs2_replace_cow() argument
3320 struct inode *inode = context->inode; in ocfs2_replace_cow()
3321 u32 cow_start = context->cow_start, cow_len = context->cow_len; in ocfs2_replace_cow()
3331 ocfs2_init_dealloc_ctxt(&context->dealloc); in ocfs2_replace_cow()
3334 ret = context->get_clusters(context, cow_start, &p_cluster, in ocfs2_replace_cow()
3346 ret = ocfs2_make_clusters_writable(inode->i_sb, context, in ocfs2_replace_cow()
3358 if (ocfs2_dealloc_has_cluster(&context->dealloc)) { in ocfs2_replace_cow()
3360 ocfs2_run_deallocs(osb, &context->dealloc); in ocfs2_replace_cow()
3381 struct ocfs2_cow_context *context = NULL; in ocfs2_refcount_cow_hunk() local
3399 context = kzalloc(sizeof(struct ocfs2_cow_context), GFP_NOFS); in ocfs2_refcount_cow_hunk()
3400 if (!context) { in ocfs2_refcount_cow_hunk()
3413 context->inode = inode; in ocfs2_refcount_cow_hunk()
3414 context->cow_start = cow_start; in ocfs2_refcount_cow_hunk()
3415 context->cow_len = cow_len; in ocfs2_refcount_cow_hunk()
3416 context->ref_tree = ref_tree; in ocfs2_refcount_cow_hunk()
3417 context->ref_root_bh = ref_root_bh; in ocfs2_refcount_cow_hunk()
3418 context->cow_duplicate_clusters = ocfs2_duplicate_clusters_by_page; in ocfs2_refcount_cow_hunk()
3419 context->get_clusters = ocfs2_di_get_clusters; in ocfs2_refcount_cow_hunk()
3421 ocfs2_init_dinode_extent_tree(&context->data_et, in ocfs2_refcount_cow_hunk()
3424 ret = ocfs2_replace_cow(context); in ocfs2_refcount_cow_hunk()
3438 kfree(context); in ocfs2_refcount_cow_hunk()
3482 static int ocfs2_xattr_value_get_clusters(struct ocfs2_cow_context *context, in ocfs2_xattr_value_get_clusters() argument
3487 struct inode *inode = context->inode; in ocfs2_xattr_value_get_clusters()
3488 struct ocfs2_xattr_value_root *xv = context->cow_object; in ocfs2_xattr_value_get_clusters()
3593 struct ocfs2_cow_context *context = NULL; in ocfs2_refcount_cow_xattr() local
3608 context = kzalloc(sizeof(struct ocfs2_cow_context), GFP_NOFS); in ocfs2_refcount_cow_xattr()
3609 if (!context) { in ocfs2_refcount_cow_xattr()
3615 context->inode = inode; in ocfs2_refcount_cow_xattr()
3616 context->cow_start = cow_start; in ocfs2_refcount_cow_xattr()
3617 context->cow_len = cow_len; in ocfs2_refcount_cow_xattr()
3618 context->ref_tree = ref_tree; in ocfs2_refcount_cow_xattr()
3619 context->ref_root_bh = ref_root_bh; in ocfs2_refcount_cow_xattr()
3620 context->cow_object = xv; in ocfs2_refcount_cow_xattr()
3622 context->cow_duplicate_clusters = ocfs2_duplicate_clusters_by_jbd; in ocfs2_refcount_cow_xattr()
3624 context->extra_credits = in ocfs2_refcount_cow_xattr()
3626 context->get_clusters = ocfs2_xattr_value_get_clusters; in ocfs2_refcount_cow_xattr()
3627 context->post_refcount = post; in ocfs2_refcount_cow_xattr()
3629 ocfs2_init_xattr_value_extent_tree(&context->data_et, in ocfs2_refcount_cow_xattr()
3632 ret = ocfs2_replace_cow(context); in ocfs2_refcount_cow_xattr()
3637 kfree(context); in ocfs2_refcount_cow_xattr()