From 92ff1082470b1dd4b75e654105d2e203bd0c88f4 Mon Sep 17 00:00:00 2001 From: Alex Zhuravlev Date: Tue, 26 Oct 2021 11:38:50 +0300 Subject: [PATCH] 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/fs/lustre-release/+/55125 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/osd-ldiskfs/osd_compat.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lustre/osd-ldiskfs/osd_compat.c b/lustre/osd-ldiskfs/osd_compat.c index 1e70b2d..98fb931 100644 --- a/lustre/osd-ldiskfs/osd_compat.c +++ b/lustre/osd-ldiskfs/osd_compat.c @@ -1319,6 +1319,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, -- 1.8.3.1