Message ID | 20230523090050.373545-5-chandan.babu@oracle.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Metadump v2 | expand |
On Tue, May 23, 2023 at 02:30:30PM +0530, Chandan Babu R wrote: > Move metadump initialization and release functionality into corresponding > functions. "No functional changes"? > Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> > --- > db/metadump.c | 88 ++++++++++++++++++++++++++++++--------------------- > 1 file changed, 52 insertions(+), 36 deletions(-) > > diff --git a/db/metadump.c b/db/metadump.c > index 806cdfd68..e7a433c21 100644 > --- a/db/metadump.c > +++ b/db/metadump.c > @@ -2984,6 +2984,54 @@ done: > return !write_buf(iocur_top); > } > > +static int > +init_metadump(void) > +{ > + metadump.metablock = (xfs_metablock_t *)calloc(BBSIZE + 1, BBSIZE); > + if (metadump.metablock == NULL) { > + print_warning("memory allocation failure"); > + return -1; > + } > + metadump.metablock->mb_blocklog = BBSHIFT; > + metadump.metablock->mb_magic = cpu_to_be32(XFS_MD_MAGIC); > + > + /* Set flags about state of metadump */ > + metadump.metablock->mb_info = XFS_METADUMP_INFO_FLAGS; > + if (metadump.obfuscate) > + metadump.metablock->mb_info |= XFS_METADUMP_OBFUSCATED; > + if (!metadump.zero_stale_data) > + metadump.metablock->mb_info |= XFS_METADUMP_FULLBLOCKS; > + if (metadump.dirty_log) > + metadump.metablock->mb_info |= XFS_METADUMP_DIRTYLOG; > + > + metadump.block_index = (__be64 *)((char *)metadump.metablock + > + sizeof(xfs_metablock_t)); > + metadump.block_buffer = (char *)(metadump.metablock) + BBSIZE; > + metadump.num_indices = (BBSIZE - sizeof(xfs_metablock_t)) / sizeof(__be64); > + > + /* > + * A metadump block can hold at most num_indices of BBSIZE sectors; > + * do not try to dump a filesystem with a sector size which does not > + * fit within num_indices (i.e. within a single metablock). > + */ > + if (mp->m_sb.sb_sectsize > metadump.num_indices * BBSIZE) { > + print_warning("Cannot dump filesystem with sector size %u", > + mp->m_sb.sb_sectsize); > + free(metadump.metablock); > + return -1; > + } > + > + metadump.cur_index = 0; > + > + return 0; Tabs, not spaces. With that fixed, Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > +} > + > +static void > +release_metadump(void) > +{ > + free(metadump.metablock); > +} > + > static int > metadump_f( > int argc, > @@ -3076,48 +3124,16 @@ metadump_f( > pop_cur(); > } > > - metadump.metablock = (xfs_metablock_t *)calloc(BBSIZE + 1, BBSIZE); > - if (metadump.metablock == NULL) { > - print_warning("memory allocation failure"); > - return -1; > - } > - metadump.metablock->mb_blocklog = BBSHIFT; > - metadump.metablock->mb_magic = cpu_to_be32(XFS_MD_MAGIC); > - > - /* Set flags about state of metadump */ > - metadump.metablock->mb_info = XFS_METADUMP_INFO_FLAGS; > - if (metadump.obfuscate) > - metadump.metablock->mb_info |= XFS_METADUMP_OBFUSCATED; > - if (!metadump.zero_stale_data) > - metadump.metablock->mb_info |= XFS_METADUMP_FULLBLOCKS; > - if (metadump.dirty_log) > - metadump.metablock->mb_info |= XFS_METADUMP_DIRTYLOG; > - > - metadump.block_index = (__be64 *)((char *)metadump.metablock + > - sizeof(xfs_metablock_t)); > - metadump.block_buffer = (char *)metadump.metablock + BBSIZE; > - metadump.num_indices = (BBSIZE - sizeof(xfs_metablock_t)) / > - sizeof(__be64); > - > - /* > - * A metadump block can hold at most num_indices of BBSIZE sectors; > - * do not try to dump a filesystem with a sector size which does not > - * fit within num_indices (i.e. within a single metablock). > - */ > - if (mp->m_sb.sb_sectsize > metadump.num_indices * BBSIZE) { > - print_warning("Cannot dump filesystem with sector size %u", > - mp->m_sb.sb_sectsize); > - free(metadump.metablock); > + ret = init_metadump(); > + if (ret) > return 0; > - } > > start_iocur_sp = iocur_sp; > > if (strcmp(argv[optind], "-") == 0) { > if (isatty(fileno(stdout))) { > print_warning("cannot write to a terminal"); > - free(metadump.metablock); > - return 0; > + goto out; > } > /* > * Redirect stdout to stderr for the duration of the > @@ -3194,7 +3210,7 @@ metadump_f( > while (iocur_sp > start_iocur_sp) > pop_cur(); > out: > - free(metadump.metablock); > + release_metadump(); > > return 0; > } > -- > 2.39.1 >
On Tue, May 23, 2023 at 09:36:38 AM -0700, Darrick J. Wong wrote: > On Tue, May 23, 2023 at 02:30:30PM +0530, Chandan Babu R wrote: >> Move metadump initialization and release functionality into corresponding >> functions. > > "No functional changes"? > Yes, No functional changes are introduced by this patch. I will add that as part of the commit description. >> Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> >> --- >> db/metadump.c | 88 ++++++++++++++++++++++++++++++--------------------- >> 1 file changed, 52 insertions(+), 36 deletions(-) >> >> diff --git a/db/metadump.c b/db/metadump.c >> index 806cdfd68..e7a433c21 100644 >> --- a/db/metadump.c >> +++ b/db/metadump.c >> @@ -2984,6 +2984,54 @@ done: >> return !write_buf(iocur_top); >> } >> >> +static int >> +init_metadump(void) >> +{ >> + metadump.metablock = (xfs_metablock_t *)calloc(BBSIZE + 1, BBSIZE); >> + if (metadump.metablock == NULL) { >> + print_warning("memory allocation failure"); >> + return -1; >> + } >> + metadump.metablock->mb_blocklog = BBSHIFT; >> + metadump.metablock->mb_magic = cpu_to_be32(XFS_MD_MAGIC); >> + >> + /* Set flags about state of metadump */ >> + metadump.metablock->mb_info = XFS_METADUMP_INFO_FLAGS; >> + if (metadump.obfuscate) >> + metadump.metablock->mb_info |= XFS_METADUMP_OBFUSCATED; >> + if (!metadump.zero_stale_data) >> + metadump.metablock->mb_info |= XFS_METADUMP_FULLBLOCKS; >> + if (metadump.dirty_log) >> + metadump.metablock->mb_info |= XFS_METADUMP_DIRTYLOG; >> + >> + metadump.block_index = (__be64 *)((char *)metadump.metablock + >> + sizeof(xfs_metablock_t)); >> + metadump.block_buffer = (char *)(metadump.metablock) + BBSIZE; >> + metadump.num_indices = (BBSIZE - sizeof(xfs_metablock_t)) / sizeof(__be64); >> + >> + /* >> + * A metadump block can hold at most num_indices of BBSIZE sectors; >> + * do not try to dump a filesystem with a sector size which does not >> + * fit within num_indices (i.e. within a single metablock). >> + */ >> + if (mp->m_sb.sb_sectsize > metadump.num_indices * BBSIZE) { >> + print_warning("Cannot dump filesystem with sector size %u", >> + mp->m_sb.sb_sectsize); >> + free(metadump.metablock); >> + return -1; >> + } >> + >> + metadump.cur_index = 0; >> + >> + return 0; > > Tabs, not spaces. > I tried to include your .vimrc configuration equivalent to my .emacs. But looks like I didn't cover all the cases. I will fix up the whitespace problems. > With that fixed, > Reviewed-by: Darrick J. Wong <djwong@kernel.org> Thank you.
diff --git a/db/metadump.c b/db/metadump.c index 806cdfd68..e7a433c21 100644 --- a/db/metadump.c +++ b/db/metadump.c @@ -2984,6 +2984,54 @@ done: return !write_buf(iocur_top); } +static int +init_metadump(void) +{ + metadump.metablock = (xfs_metablock_t *)calloc(BBSIZE + 1, BBSIZE); + if (metadump.metablock == NULL) { + print_warning("memory allocation failure"); + return -1; + } + metadump.metablock->mb_blocklog = BBSHIFT; + metadump.metablock->mb_magic = cpu_to_be32(XFS_MD_MAGIC); + + /* Set flags about state of metadump */ + metadump.metablock->mb_info = XFS_METADUMP_INFO_FLAGS; + if (metadump.obfuscate) + metadump.metablock->mb_info |= XFS_METADUMP_OBFUSCATED; + if (!metadump.zero_stale_data) + metadump.metablock->mb_info |= XFS_METADUMP_FULLBLOCKS; + if (metadump.dirty_log) + metadump.metablock->mb_info |= XFS_METADUMP_DIRTYLOG; + + metadump.block_index = (__be64 *)((char *)metadump.metablock + + sizeof(xfs_metablock_t)); + metadump.block_buffer = (char *)(metadump.metablock) + BBSIZE; + metadump.num_indices = (BBSIZE - sizeof(xfs_metablock_t)) / sizeof(__be64); + + /* + * A metadump block can hold at most num_indices of BBSIZE sectors; + * do not try to dump a filesystem with a sector size which does not + * fit within num_indices (i.e. within a single metablock). + */ + if (mp->m_sb.sb_sectsize > metadump.num_indices * BBSIZE) { + print_warning("Cannot dump filesystem with sector size %u", + mp->m_sb.sb_sectsize); + free(metadump.metablock); + return -1; + } + + metadump.cur_index = 0; + + return 0; +} + +static void +release_metadump(void) +{ + free(metadump.metablock); +} + static int metadump_f( int argc, @@ -3076,48 +3124,16 @@ metadump_f( pop_cur(); } - metadump.metablock = (xfs_metablock_t *)calloc(BBSIZE + 1, BBSIZE); - if (metadump.metablock == NULL) { - print_warning("memory allocation failure"); - return -1; - } - metadump.metablock->mb_blocklog = BBSHIFT; - metadump.metablock->mb_magic = cpu_to_be32(XFS_MD_MAGIC); - - /* Set flags about state of metadump */ - metadump.metablock->mb_info = XFS_METADUMP_INFO_FLAGS; - if (metadump.obfuscate) - metadump.metablock->mb_info |= XFS_METADUMP_OBFUSCATED; - if (!metadump.zero_stale_data) - metadump.metablock->mb_info |= XFS_METADUMP_FULLBLOCKS; - if (metadump.dirty_log) - metadump.metablock->mb_info |= XFS_METADUMP_DIRTYLOG; - - metadump.block_index = (__be64 *)((char *)metadump.metablock + - sizeof(xfs_metablock_t)); - metadump.block_buffer = (char *)metadump.metablock + BBSIZE; - metadump.num_indices = (BBSIZE - sizeof(xfs_metablock_t)) / - sizeof(__be64); - - /* - * A metadump block can hold at most num_indices of BBSIZE sectors; - * do not try to dump a filesystem with a sector size which does not - * fit within num_indices (i.e. within a single metablock). - */ - if (mp->m_sb.sb_sectsize > metadump.num_indices * BBSIZE) { - print_warning("Cannot dump filesystem with sector size %u", - mp->m_sb.sb_sectsize); - free(metadump.metablock); + ret = init_metadump(); + if (ret) return 0; - } start_iocur_sp = iocur_sp; if (strcmp(argv[optind], "-") == 0) { if (isatty(fileno(stdout))) { print_warning("cannot write to a terminal"); - free(metadump.metablock); - return 0; + goto out; } /* * Redirect stdout to stderr for the duration of the @@ -3194,7 +3210,7 @@ metadump_f( while (iocur_sp > start_iocur_sp) pop_cur(); out: - free(metadump.metablock); + release_metadump(); return 0; }
Move metadump initialization and release functionality into corresponding functions. Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> --- db/metadump.c | 88 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 36 deletions(-)