From df5c28d358c5c53e510fa4d821e37e8d51210bb2 Mon Sep 17 00:00:00 2001 From: nikita Date: Wed, 12 Jul 2006 17:55:56 +0000 Subject: [PATCH] fld_index_*(): add error handling --- lustre/fld/fld_index.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lustre/fld/fld_index.c b/lustre/fld/fld_index.c index c3985bd..3b91d3d 100644 --- a/lustre/fld/fld_index.c +++ b/lustre/fld/fld_index.c @@ -143,12 +143,13 @@ int fld_index_create(struct lu_server_fld *fld, txn.tp_credits = FLD_TXN_INDEX_INSERT_CREDITS; th = dt->dd_ops->dt_trans_start(ctx, dt, &txn); - - rc = dt_obj->do_index_ops->dio_insert(ctx, dt_obj, - fld_rec(ctx, mds), - fld_key(ctx, seq), th); - dt->dd_ops->dt_trans_stop(ctx, th); - + if (!IS_ERR(th)) { + rc = dt_obj->do_index_ops->dio_insert(ctx, dt_obj, + fld_rec(ctx, mds), + fld_key(ctx, seq), th); + dt->dd_ops->dt_trans_stop(ctx, th); + } else + rc = PTR_ERR(th); RETURN(rc); } @@ -165,11 +166,12 @@ int fld_index_delete(struct lu_server_fld *fld, txn.tp_credits = FLD_TXN_INDEX_DELETE_CREDITS; th = dt->dd_ops->dt_trans_start(ctx, dt, &txn); - - rc = dt_obj->do_index_ops->dio_delete(ctx, dt_obj, - fld_key(ctx, seq), th); - dt->dd_ops->dt_trans_stop(ctx, th); - + if (!IS_ERR(th)) { + rc = dt_obj->do_index_ops->dio_delete(ctx, dt_obj, + fld_key(ctx, seq), th); + dt->dd_ops->dt_trans_stop(ctx, th); + } else + rc = PTR_ERR(th); RETURN(rc); } -- 1.8.3.1