Don't create and start new transaction in
osp_precreate_reserve (osp_sync_force)
because it has been already started in mdd_create.
New transaction rewrites oti_declare_ops_cred
resulting in assert in osd_trans_exec_op:
osd_trans_exec_op()) lustre-MDT0000: opcode 3: credits = 0, rollback = 4
osd_trans_exec_op()) ASSERTION( !ldiskfs_track_declares_assert ) failed:
...
#2 [
ffff88008983f600] panic at
ffffffff816a863f
#3 [
ffff88008983f680] lbug_with_loc at
ffffffffc0513854 [libcfs]
#4 [
ffff88008983f6a0] osd_create at
ffffffffc0dfac32 [osd_ldiskfs]
#5 [
ffff88008983f718] lod_sub_create at
ffffffffc101b585 [lod]
#6 [
ffff88008983f7c0] lod_create at
ffffffffc100d6e9 [lod]
#7 [
ffff88008983f800] mdd_create_object_internal at
ffffffffc0ed8888 [mdd]
#8 [
ffff88008983f838] mdd_create_object at
ffffffffc0ec3e05 [mdd]
#9 [
ffff88008983f8b0] mdd_create at
ffffffffc0ecc673 [mdd]
Change-Id: Ic2c4589a9a1f640c7a0aa989fc62d81ca08f917f
Signed-off-by: Sergey Cheremencev <c17829@cray.com>
Cray-bug-id: LUS-6098
Reviewed-on: https://es-gerrit.dev.cray.com/153461
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-by: Alexander Zarochentsev <c17826@cray.com>
Tested-by: Alexander Lezhoev <c17454@cray.com>
Reviewed-on: https://review.whamcloud.com/33391
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
if (atomic_read(&d->opd_sync_changes) && synced == 0) {
/* force local commit to release space */
dt_commit_async(env, d->opd_storage);
- osp_sync_force(env, d);
+ osp_sync_check_for_work(d);
synced = 1;
}
if (atomic_read(&d->opd_sync_rpcs_in_progress)) {