public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Linda Walsh <xfs@tlinx.org>
To: xfs-oss <xfs@oss.sgi.com>
Subject: more efficient way to print out inode->block mappings?
Date: Thu, 27 Sep 2012 04:39:35 -0700	[thread overview]
Message-ID: <50643AF7.7060106@tlinx.org> (raw)

I want to be able to rapidly determine the diffs between 2 volumes.

Special note 1 is an active lvm snapshot of the other -- meaning it is
frozen in time, but otherwise should look identical the the file system
as it was when it was snapped.

Sooo... a way of speeding checks is finding out what blocks allocated to the indoes
are different, since as the new volume gets used, I had hoped that differing
block numbers might give me a clue as to what had changed..

I'm thinking though, that the block numbers that will change will be the ones
in lvm -- not xfs.  So this probably isn't as useful as i'd hoped.

Nevertheless, trying to read the blocks allocated/inode with bmap is sorta slow.
I've tried to optimize it by starting a pty session to xfs_db and issuing inode/bmap
commands -- but I have to wait for a prompt to come back to know that the command
has finished, and I'm not really sure it's really returning more than 1 line
for any file. -- though interactively, I can find a file with a large ACL, and see
it has both a data and attr bmap.  I also haven't seen what output would look like
if the file(or dir) was split -- as, so far, have only seen files/dirs returned 
that
have 1 allocation/file,

So what the means is that I'm not sure about synchronization between commands output
and the input I read in -- even though I read in the input after every command. 
-- but even with
a minimal timeout of 1ms, and keeping track of commands outstanding and replies 
(as measured
by 'prompts' recieved, I'm far from convinced it's doing the right thing -- and 
it still
slow going 1 inode at a time over a pty interface.

I thought of trying to use blockget -v and parsing the output.  I figured that 
would
have the least latency and likely be the fastest way to dump the mappings -- BUT
it seems I can't get it to work on an active file system.  So how can I get that 
block
info dumped without blockget?  I've already told blockget it's in -r only 
mode... so it
shouldn't try to repair inconsistencies...and 99.999% is going to be what I want 
and any
inconsistencies, I can check manually be checking the files through the mounted 
interface.

Oddly, and likely I'm confused about something, but when  i try to print the 
log/log_print,
it says it is an invalid log 1 byte long, so even if it were played out, I don't
think it would make much difference in the final results.

Is it possible to do what I want w/o writing a special util/C prog to dump this?

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

             reply	other threads:[~2012-09-27 11:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-27 11:39 Linda Walsh [this message]
2012-09-27 15:34 ` more efficient way to print out inode->block mappings? Ben Myers
2012-09-28  2:14   ` Linda Walsh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50643AF7.7060106@tlinx.org \
    --to=xfs@tlinx.org \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox