On Mon, Jun 08, 2015 at 10:06:34AM -0500, Eric Sandeen wrote: > When doing an obfuscated xfs_metadump, if the log is clean, zero > it out for 2 reasons: > > * It'll make the image more compressible > * It'll eliminate an un-obfuscated metadata source > > If the log isn't clean, and the user expected obfuscation, warn > that metadata in the log will not be obfuscated. > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > V2: If not obfuscating, copy log as-is > FYI, I think v1 of this was already pulled into the for-next branch. Anyways... > diff --git a/db/metadump.c b/db/metadump.c > index bea4e00..67de0c5 100644 > --- a/db/metadump.c > +++ b/db/metadump.c > @@ -17,6 +17,7 @@ > */ > > #include <libxfs.h> > +#include <libxlog.h> > #include "bmap.h" > #include "command.h" > #include "metadump.h" > @@ -2169,6 +2170,8 @@ copy_sb_inodes(void) > static int > copy_log(void) > { > + int dirty; > + > if (show_progress) > print_progress("Copying log"); > > @@ -2180,6 +2183,36 @@ copy_log(void) > print_warning("cannot read log"); > return !stop_on_read_error; > } > + > + /* If not obfuscating, just copy the log as it is */ > + if (!obfuscate) > + goto done; > + > + dirty = xlog_is_dirty(mp, &x, 0); > + > + switch (dirty) { > + case 0: > + /* clear out a clean log */ > + if (show_progress) > + print_progress("Zeroing clean log"); > + memset(iocur_top->data, 0, > + mp->m_sb.sb_logblocks * mp->m_sb.sb_blocksize); > + break; > + case 1: > + /* keep the dirty log */ > + if (obfuscate) The 'if (obfuscate)' checks here and below are pointless with the !obfuscate bypass above. Seems fine otherwise. Brian > + print_warning( > +_("Filesystem log is dirty; image will contain unobfuscated metadata in log.")); > + break; > + case -1: > + /* log detection error */ > + if (obfuscate) > + print_warning( > +_("Could not discern log; image will contain unobfuscated metadata in log.")); > + break; > + } > + > +done: > return !write_buf(iocur_top); > } > > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs