would this be a useful utility?

From: Julian Elischer <julian_at_elischer.org>
Date: Thu, 26 Feb 2004 11:51:56 -0800 (PST)
We have a toolkit that includes such things as:

 showing which cylinder groups a file was allocated into
or
 dumping all the blocks a file is on...

I've often wanted this. I wonder if it is worth importing it
or making it a port?

They are in C++ (but not written by a C++ expert)
and don't know about UFS2 yet..


e.g. (excuse linewrap in output)

File gig.out
    571,522 bytes,   1,152 blocks,   1 hard links: 36 clusters, 0 frags
  accessed: 2004/02/22 22:55:34   rw-rw-r--   type ra     884419540
generation
  modified: 2004/02/23  5:30:24 (optimum block size16,384) user flags
0x0
inode time: 2004/02/23  5:30:24  user=milt    group=wheel   
           (inode device 134406   file device 4103048)
Device 134,406, Character file /dev/rda0s1g        INODE 1013769
      (inode 9 in cylinder group 45 from cluster 4,101,144)
3E9B88: At      0x0 data   0x50 61 73 73 20 31 20 28   Pass 1 (
3E9B90: At   0x4000 data   0x37 33 38 2C 33 39 34 2C   738,394,
3E9B98: At   0x8000 data   0x39 32 37 20 33 33 35 2C   927 335,
3E9BA0: At   0xC000 data   0x73 20 73 69 6E 63 65 20   s since 
3E9BF0: At  0x10000 data   0x38 35 2C 32 34 38 20 28   85,248 (
3E9BF8: At  0x14000 data   0x2C 32 30 30 20 28 40 30   ,200 (_at_0
3E9C00: At  0x18000 data   0x20 28 40 30 78 31 37 45    (_at_0x17E
3E9C08: At  0x1C000 data    0xA 34 30 32 2C 38 34 39   .402,849
3E9C78: At  0x20000 data   0x72 6F 72 73 20 73 69 6E   rors sin
3E9C80: At  0x24000 data   0x33 38 33  A 36 30 34 2C   383.604,
3E9C88: At  0x28000 data   0x20 74 6F 20 31 33 34 2C    to 134,
3E9D08: At  0x2C000 data   0x2C 35 30 32 2C 39 37 35   ,502,975
first indirect block:
3E9CD8->3E9D10: At  0x30000 data   0x45 44 41 30 29 20 74 6F   EDA0) to
3E9CD8->3E9D18: At  0x34000 data   0x6F 20 31 2C 30 30 30 2C   o 1,000,
3E9CD8->3E9D80: At  0x38000 data   0x31 37 36 31 39 41 30 29   17619A0)
3E9CD8->3E9D88: At  0x3C000 data   0x69 73 20 61 47 69 67  A   is aGig.
3E9CD8->3E9D90: At  0x40000 data   0x28 40 30 78 31 37 41 34   (_at_0x17A4
3E9CD8->3E9E08: At  0x44000 data   0x30 31 2C 35 32 33 2C 32   01,523,2
3E9CD8->3E9E10: At  0x48000 data   0x36 31 31 2C 38 34 30 20   611,840 
3E9CD8->3E9E18: At  0x4C000 data   0x37 39 31  A 34 30 32 2C   791.402,
3E9CD8->3E9E90: At  0x50000 data   0x6E 65 3A 20 30 20 65 72   ne: 0 er
3E9CD8->3E9E98: At  0x54000 data   0x2C 31 37 36 2C 33 38 33   ,176,383
3E9CD8->3E9EA0: At  0x58000 data   0x41 38 29 20 74 6F 20 31   A8) to 1
3E9CD8->3E9F18: At  0x5C000 data   0x20 74 6F 20 38 30 35 2C    to 805,
3E9CD8->3E9F20: At  0x60000 data   0x37 31 45 44 41 30 29 20   71EDA0) 
3E9CD8->3E9F28: At  0x64000 data   0x41 30 29 20 74 6F 20 31   A0) to 1
3E9CD8->3E9F90: At  0x68000 data   0x20 28 40 30 78 31 37 36    (_at_0x176
3E9CD8->3E9F98: At  0x6C000 data   0x20 69 73 20 61 47 69 67    is aGig
3E9CD8->3E9FA0: At  0x70000 data   0x35 2C 32 34 38 20 28 40   5,248 (_at_
3E9CD8->3EA018: At  0x74000 data   0x39  A 32 30 31 2C 35 32   9.201,52
3E9CD8->3EA020: At  0x78000 data   0x2C 36 31 31 2C 38 34 30   ,611,840
3E9CD8->3EA028: At  0x7C000 data   0x2C 38 34 39 2C 37 39 31   ,849,791
3E9CD8->3EA0A0: At  0x80000 data   0x64 6F 6E 65 3A 20 30 20   done: 0 
3E9CD8->3EA0A8: At  0x84000 data   0x20 36 30 34 2C 31 37 36    604,176
3E9CD8->3EA0B0: At  0x88000 data   0x31 36 44 43 31 41 38 29   16DC1A8)

INODE 1,013,769 dump
       0x0:  B4 81 01  0  0  0  0  0   82 B8 08  0  0  0  0  0
................
      0x10:  B6 79 39 40  0  0  0  0   40 D6 39 40  0  0  0  0
.y9_at_...._at_.9_at_....
      0x20:  40 D6 39 40  0  0  0  0   88 9B 3E  0 90 9B 3E  0
_at_.9_at_......>...>.
      0x30:  98 9B 3E  0 A0 9B 3E  0   F0 9B 3E  0 F8 9B 3E  0
..>...>...>...>.
      0x40:   0 9C 3E  0 08 9C 3E  0   78 9C 3E  0 80 9C 3E  0
..>...>.x.>...>.
      0x50:  88 9C 3E  0 08 9D 3E  0   D8 9C 3E  0  0  0  0  0
..>...>...>.....
      0x60:   0  0  0  0  0  0  0  0   80 04  0  0 D4 2B B7 34
.............+.4
      0x70:  19 05  0  0  0  0  0  0    0  0  0  0  0  0  0  0
................
571,522 bytes (1,152 sectors) in 1 files.
Cylinder group usage.  22528 inodes, 91136 fragments per cylinder group.
cylinder  1st frag   in use  (-=>inode, .=>fragment, :=>both)
    44   0x3D3000
|
    45   0x3E9400    1   288
:                                                 |
    46   0x3FF800
|
Total Inodes         1
Total Fragments          288
Received on Thu Feb 26 2004 - 10:51:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:44 UTC