From: Alex Zhuravlev Date: Tue, 26 Oct 2021 08:38:50 +0000 (+0300) Subject: LU-15163 osd: osd_obj_map_recover() to restart transaction X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=b3c1416d3e68e8674bb24770b0e7f49db57ce5bd;p=fs%2Flustre-release.git LU-15163 osd: osd_obj_map_recover() to restart transaction osd_obj_map_recover() stops transaction when need to call vfs_link() and it has to start a new transaction to modify filesystem. Lustre-commit: 7bf0e557a2b3a463e4d78e81b6ab93987d3dc8af Lustre-change: https://review.whamcloud.com/45368 Signed-off-by: Alex Zhuravlev Change-Id: I6efe5444ddc959b19092bebc6e3c7dc25a29cea1 Reviewed-by: Andreas Dilger Reviewed-by: Li Dongyang Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/55124 Tested-by: jenkins Tested-by: Maloo --- diff --git a/lustre/osd-ldiskfs/osd_compat.c b/lustre/osd-ldiskfs/osd_compat.c index e9a8f07..892a35e 100644 --- a/lustre/osd-ldiskfs/osd_compat.c +++ b/lustre/osd-ldiskfs/osd_compat.c @@ -1322,6 +1322,14 @@ int osd_obj_map_recover(struct osd_thread_info *info, } if (rc) RETURN(rc); + + jh = osd_journal_start_sb(osd_sb(osd), LDISKFS_HT_MISC, + osd_dto_credits_noquota[DTO_INDEX_DELETE] + + osd_dto_credits_noquota[DTO_INDEX_INSERT] + + osd_dto_credits_noquota[DTO_OBJECT_DELETE]); + if (IS_ERR(jh)) + RETURN(PTR_ERR(jh)); + inode_lock(dir); } bh = osd_ldiskfs_find_entry(src_parent, &src_child->d_name, &de,