X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_handler.c;h=75a6fe5d89ec6715b192c5c30c01acb441652bed;hp=1c689fe58199c0e18f033c2bb7e12c242d7a21e3;hb=366211463c0ed0368c29d225146322cd8f61780d;hpb=d1c8b37cc0b9808251300790ab9c91409fecfb96 diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 1c689fe..75a6fe5 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -554,9 +554,11 @@ static void osd_trans_commit_cb(struct journal_callback *jcb, int error) dt_txn_hook_commit(th); - /* call per-transaction callbacks if any */ - cfs_list_for_each_entry_safe(dcb, tmp, &oh->ot_dcb_list, dcb_linkage) - dcb->dcb_func(NULL, th, dcb, error); + /* call per-transaction callbacks if any */ + cfs_list_for_each_entry_safe(dcb, tmp, &oh->ot_dcb_list, dcb_linkage) { + cfs_list_del_init(&dcb->dcb_linkage); + dcb->dcb_func(NULL, th, dcb, error); + } lu_ref_del_at(&lud->ld_reference, oh->ot_dev_link, "osd-tx", th); lu_device_put(lud);