I'm trying to generate a sorted list of inodes on my filesystem (so I
can optimize a GFS2 backup workflow).  The filesystem has >1 million
inodes, so generating this list can take a little bit of time.

I initially attempted to do this via Python, but all of its calls
appear to be too high level and result in stat() being called on every
file.

I then tried using find:

  find . -printf "%-15i %h/%f\n"

However, this also appears to call stat() on every file -- presumably
because the call to printf means I might want other information not
necessarily provided via a readdir()/getdents() calls (?)

I came across this[1] but it seems to refer specifically to -inum and
not a case where I want to output an inode number and filename only.

Can someone advise as to the most efficient way to generate a list of
inode / filename pairs for my entire filesystem using find?

I have tried with both findutils 4.2 and 4.4 (I realize the bug I
mentioned above is only in 4.5) from RHEL 5.4 and Fedora 11
respectively.

Thanks,
Ray

[1] http://savannah.gnu.org/bugs/?func=detailitem&item_id=24342#options


Reply via email to