.. | .. |
---|
3190 | 3190 | struct xfs_btree_block *block; /* btree block */ |
---|
3191 | 3191 | struct xfs_buf *bp; /* buffer for block */ |
---|
3192 | 3192 | union xfs_btree_ptr nptr; /* new block ptr */ |
---|
3193 | | - struct xfs_btree_cur *ncur; /* new btree cursor */ |
---|
| 3193 | + struct xfs_btree_cur *ncur = NULL; /* new btree cursor */ |
---|
3194 | 3194 | union xfs_btree_key nkey; /* new block key */ |
---|
3195 | 3195 | union xfs_btree_key *lkey; |
---|
3196 | 3196 | int optr; /* old key/record index */ |
---|
.. | .. |
---|
3270 | 3270 | #ifdef DEBUG |
---|
3271 | 3271 | error = xfs_btree_check_block(cur, block, level, bp); |
---|
3272 | 3272 | if (error) |
---|
3273 | | - return error; |
---|
| 3273 | + goto error0; |
---|
3274 | 3274 | #endif |
---|
3275 | 3275 | |
---|
3276 | 3276 | /* |
---|
.. | .. |
---|
3290 | 3290 | for (i = numrecs - ptr; i >= 0; i--) { |
---|
3291 | 3291 | error = xfs_btree_debug_check_ptr(cur, pp, i, level); |
---|
3292 | 3292 | if (error) |
---|
3293 | | - return error; |
---|
| 3293 | + goto error0; |
---|
3294 | 3294 | } |
---|
3295 | 3295 | |
---|
3296 | 3296 | xfs_btree_shift_keys(cur, kp, 1, numrecs - ptr + 1); |
---|
.. | .. |
---|
3375 | 3375 | return 0; |
---|
3376 | 3376 | |
---|
3377 | 3377 | error0: |
---|
| 3378 | + if (ncur) |
---|
| 3379 | + xfs_btree_del_cursor(ncur, error); |
---|
3378 | 3380 | return error; |
---|
3379 | 3381 | } |
---|
3380 | 3382 | |
---|