On Tue, May 23, 2023 at 10:02:12 AM -0700, Darrick J. Wong wrote: > On Tue, May 23, 2023 at 02:30:32PM +0530, Chandan Babu R wrote: >> metadump will now read and dump from external log device when the log is >> placed on an external device and metadump v2 is supported by xfsprogs. >> >> Signed-off-by: Chandan Babu R <chandan.babu@xxxxxxxxxx> >> --- >> db/metadump.c | 20 +++++++++++++------- >> 1 file changed, 13 insertions(+), 7 deletions(-) >> >> diff --git a/db/metadump.c b/db/metadump.c >> index e7a433c21..62a36427d 100644 >> --- a/db/metadump.c >> +++ b/db/metadump.c >> @@ -2921,7 +2921,7 @@ copy_sb_inodes(void) >> } >> >> static int >> -copy_log(void) >> +copy_log(enum typnm log_type) >> { >> struct xlog log; >> int dirty; >> @@ -2934,7 +2934,7 @@ copy_log(void) >> print_progress("Copying log"); >> >> push_cur(); >> - set_cur(&typtab[TYP_LOG], XFS_FSB_TO_DADDR(mp, mp->m_sb.sb_logstart), >> + set_cur(&typtab[log_type], XFS_FSB_TO_DADDR(mp, mp->m_sb.sb_logstart), >> mp->m_sb.sb_logblocks * blkbb, DB_RING_IGN, NULL); >> if (iocur_top->data == NULL) { >> pop_cur(); >> @@ -3038,6 +3038,7 @@ metadump_f( >> char **argv) >> { >> xfs_agnumber_t agno; >> + enum typnm log_type; >> int c; >> int start_iocur_sp; >> int outfd = -1; >> @@ -3110,9 +3111,13 @@ metadump_f( >> } >> >> /* If we'll copy the log, see if the log is dirty */ >> - if (mp->m_sb.sb_logstart) { >> + if (mp->m_logdev_targp == mp->m_ddev_targp || metadump.version == 2) { >> + log_type = TYP_LOG; >> + if (mp->m_logdev_targp != mp->m_ddev_targp) >> + log_type = TYP_ELOG; >> + >> push_cur(); >> - set_cur(&typtab[TYP_LOG], >> + set_cur(&typtab[log_type], >> XFS_FSB_TO_DADDR(mp, mp->m_sb.sb_logstart), >> mp->m_sb.sb_logblocks * blkbb, DB_RING_IGN, NULL); >> if (iocur_top->data) { /* best effort */ >> @@ -3185,9 +3190,10 @@ metadump_f( >> if (!exitcode) >> exitcode = !copy_sb_inodes(); >> >> - /* copy log if it's internal */ >> - if ((mp->m_sb.sb_logstart != 0) && !exitcode) >> - exitcode = !copy_log(); >> + /* copy log */ >> + if (!exitcode && (mp->m_logdev_targp == mp->m_ddev_targp || >> + metadump.version == 2)) > > Version 2? I don't think that's been introduced yet. ;) > I will move the aboves changes to the patch which adds the "-v" option. -- chandan