Jan Kopriva wrote: > Frank Hofmann wrote: >> On Wed, 6 Jun 2007, Jan Kopriva wrote: >> >> [ ... ] >>> oh ok. Sorry, I should have been more concrete in my previous posts. >>> We actually aim exactly for this. Another question is how to force >>> mdb in an elegant way to >>> recognize the address specified on the mdb prompt to be different >>> object from memory address (i.e. for the inode use a suffix? that is >>> processed by the modified command line parser, >>> so one can do something like this: 6i::print -p struct icommon) >> >> This sounds more like a case for pipes, aka "fake usage scenario": >> >> 6::inum2diskaddr | ::print struct icommon >> >> Why is this better ? >> In ordinary mdb, you wouldn't request "1p::print struct proc" either, >> you'd write "1::pid2proc | ::print struct proc". See the similarity ? >> >> FrankH. >> > Thanks, Frank for this suggestion. Makes better sense to use such > already existing construct. > > Jan > Of course, then you could have a walker, to walk directory entries, something like:
path::walk dirents | ::print dirent_t d_ino | ::print struct icommon ic_db ic_ib to dump out block addresses for all files in the directory. And maybe another walker to walk all files in the file system (or all directory entries?). And so on... max