home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / fj / maillis / apollo / 3210 < prev    next >
Encoding:
Text File  |  1993-01-23  |  34.8 KB  |  979 lines

  1. Newsgroups: fj.mail-lists.apollo
  2. Path: sparky!uunet!stanford.edu!sun-barr!sh.wide!wnoc-tyo-news!etl.go.jp!daemon
  3. From: sdd.hp.com!crash!pentode!paul@hplabs.hpl.hp.com  (Paul Walker)
  4. Subject: 2nd time:  salvol question/problem (long)
  5. Message-ID: <1993Jan23.025942.22764@etl.go.jp>
  6. Sender: apollo-request@engin.umich.edu
  7. Organization: none
  8. Distribution: fj
  9. Date: Fri, 22 Jan 1993 05:29:30 GMT
  10. Return-Path: <apollo-list-errors@srvr1.engin.umich.edu>
  11. Approved: kato@etl.go.jp
  12. Lines: 965
  13.  
  14.  
  15.     I posted this once, and I haven't receved any replies.  I guess those that
  16. have some clues are just studying up so they can give an accurate answer :-)
  17. I was hoping that someone out there would have some knowledge in this area ...
  18. so here we go again....
  19.  
  20.  
  21.     Recently, I had a bad vtoc bucket show up on my disk.  It was unreadable,
  22. and I finally chose to repair it by writing 0's to it (pehaps mistake #1).  I
  23. then ran salvol, and everything seemed to work OK - meaning no unusual messages.
  24. I ran salvol with the -a option.  Next time expire_news ran, I saw that I had
  25. files that were in a directory, but attributes weren't available.  I began to
  26. question the quality of the salvage done by salvol.  So, I set up a test case. 
  27. The sequence belows shows what I think might be a bug.  This work was done on a
  28. DN3500, with an 8621 controller and a Micropolis 170Mb drive.
  29.  
  30. As an attempt to try and document my experiment, here is a summary:
  31.     A) Initialize logical volume 1.
  32.     B) Mount the volume, and use the DM to create a file called testfile.
  33.     C) Get the uid of the file, and ensure that its there.  Then dismount the
  34.         volume.
  35.     D) Run fixvol [here is where things get fun :-) ].
  36.     E) Track down all pertinent structures related to the file (vtoce, bucket
  37.         entry, BAT, and even look at the data block).
  38.     F) Use the edit to clear the bucket entry (simulating the 'fix' I did when
  39.         the block wasn't readable due to a header error).
  40.     G) Mount the volume to see if the file has lost its attributes.  It hasn't,
  41.         which I think is strange, but probably due to a smart kernel thinking
  42.         that nothing has changed, so use cached information).
  43.     H) Dismount the volume
  44.     I) Repeat G & H, because I didn't think things would work that way.
  45.     J) Run fixvol again, to see if that convices the kernel that the cached
  46.         information is bogus.
  47.     K) Mount/ld/dismount - still thinks everything is OK.
  48.     L) Salvol - I know its broken, lets see what salvol thinks.  Use the -v,
  49.         just to see if anything is found that I don't want fixed.
  50.     M) Try salvol with -v again, to check that nothing was changed (nope).
  51.     N) Mount/ld/dismount - check for file stats.  Cache still intact.
  52.     O) Salvol, default options - lets fix this :-(
  53.     P) Mount - gee the file is broken (because it can't find the vtoce because
  54.         the bucket was zapped.  Why wasn't the file that was dropped found and
  55.         catalogued with lost+found ?
  56.     Q) Try find_orphans to see if that will find it.  Nope - still broken.
  57.     R) Dismount
  58.     S) Fixvol - lets see what happened.
  59.     T) The bucket is still empty (not fixed).
  60.     U) What used to be a file_$file_type for uid 5D93314D.10022D27 is now a
  61.         file_$dir_type for uid 5D9339E3.90022D27.  Why?  This seems to be a new
  62.         (and bogus) directory block.
  63.     V) Look at daddr 10c51 (I don't know why, but I don't think its relevant).
  64.     W) Look at daddr 10c52 again - yep, its still a dir type.  Looking at it
  65.         shows that stuff is in it.
  66.     X) Try looking at the block.  After much trouble, it looks to be empty.
  67.     Y) The BAT command shows that the block is in use (makes sense).
  68.     Z) Try to check out this new directory uid.  Its a directory that contains
  69.         itself in its filemap (is this normal?).
  70.  
  71.     I'm confused, but here are my points/questions:
  72.  
  73. Why did salvol create this bogus directory block?
  74. Why didn't it find my lost file?
  75. Why did it corrupt my lost file?
  76. Is there a better way to try and recover from this?
  77. Would it have been better to try a val vtoc in fixvol and do more manual repair
  78.  before running salvol?
  79.  
  80.  
  81.     Any help would be appreciated.
  82.  
  83.  
  84. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  85. $ invol
  86.  
  87.  
  88. invol (initialize_volume), revision 10.3, June 22, 1990  1:20:24 am
  89.  
  90.  
  91. Options are:
  92.   0            - EXIT.
  93.   1 [-fnb5uom] - initialize virgin physical volume.
  94.   2 [-fnb5u]   - add a logical volume.
  95.   3 [-fnb5]    - re-initialize an existing logical volume.
  96.     The following flags apply to options 1 thru 3, as indicated:
  97.        f: don't re-format disk    u: don't prompt user - use defaults
  98.        o: make sr9 format disk    n: make non-bootable volume
  99.        b: apply bsd unix acls     5: apply sys5 unix acls
  100.        m: build a multi-disk (e.g., striped) group
  101.   4            - delete a logical volume.
  102.   5            - list logical volumes.
  103.   6 [-e]       - list badspots on disk or volume ... -e: list in decimal.
  104.   7 [-f]       - initialize physical badspot list.
  105.   8            - create or modify an os paging file.
  106.   9            - add to existing badspot list.
  107.  10            - display/change sector interleave factor.
  108.  11            - remove from existing badspot list
  109.  
  110. Option: 3
  111.  
  112. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#] w
  113.  
  114. Volume built by Invol version "revision 10.4"  on  Dec. 30, 1992
  115.  
  116. Physical volume "pv170loan".  Logical volumes:
  117.  
  118.  #  size (kB)    name
  119.  1  146879(d)    lvol1
  120.  
  121. Enter logical volume number:  1
  122.  
  123. Verification options are:
  124.    1 - no verification
  125.    2 - write all blocks on the volume
  126.    3 - write and re-read all blocks on the volume
  127.  
  128. Enter verification option: 1
  129. Expected average file size, in kB (CR for default, 5 kB):  
  130.  
  131. Writing logical volume 1.
  132.    Formatting...  % complete: 
  133.        20
  134.        40
  135.        60
  136.        80
  137.       100
  138.  
  139. Initialization complete.
  140.  
  141. Anything more to do? n
  142. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
  143. $ mtvol w win1
  144. $ ld win1/... -a
  145.  
  146. sys   type      blocks  current
  147. type  uid         used   length   attr rights       name
  148.  
  149. sdir  nil            1      1024  P    prwx-        win1
  150. file  nil            0         0  P    prwx-        win1/lost+found.list
  151. dir   nil            1      1024  P    prwx-        win1/sys
  152. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  153. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  154. file  boot          10     10240  P    prwx-        win1/sysboot
  155.  
  156. 6 entries listed, 14 blocks used.
  157. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  158. $ ld win1/... -a -u
  159.  
  160. sys   type      blocks  current
  161. type  uid         used   length   attr rights              uid         name
  162.  
  163. sdir  nil            1      1024  P    prwx-         5D932DAA.90022D27 win1
  164. file  nil            0         0  P    prwx-         5D932DAA.D0022D27 win1/lost+found.list
  165. dir   nil            1      1024  P    prwx-         5D932DAA.B0022D27 win1/sys
  166. dir   nil            1      1024  P    prwx-         5D932DAA.C0022D27 win1/sys/node_data
  167. dir   nil            1      1024  P    prwx-         5D932DAA.E0022D27 win1/sys/node_data/system_logs
  168. file  boot          10     10240  P    prwx-         5D932D67.80022D27 win1/sysboot
  169. file  unstruct       1        15  P    prwx-         5D93314D.10022D27 win1/testfile
  170.  
  171. 7 entries listed, 15 blocks used.
  172. $ dmtvol w win1
  173. DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
  174. $ fixvol
  175.  
  176. Warning: this program is intended only for the use of Apollo service
  177. representatives.  Misuse of this program may irreparably damage your
  178. disk.  To exit, type "q" to the following prompt.
  179.  
  180. Fix-Volume utility, revision 10.3, 08/08/90
  181.  
  182. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#][s]   w
  183.  
  184. (fv [p])> lv 1
  185. EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
  186. (fv [1])> vu 5D93314D.10022D27
  187. UID hashes to bucket block at daddr = 11FCA, bucket # 2(hex)
  188. ... UID contained within bucket block at daddr = 11FCA, bucket # 2, index # 0
  189. ... VTOCE contained within block at daddr = 10C51, index # 1
  190. VTOCE # 1 ... at mem address 3B328D58
  191. ---Link to next partial block: 0, vtoce count (v_cnt): 2
  192.  
  193. version = 1, sys_type = 0 (file_type)
  194. con_ctrl = 0 (none), permanent  not-immutable  not-audited 
  195. object uid= 5D93314D.10022D27 
  196.   type uid= 321.00000000 unstruct_$uid
  197.    dir uid= 5D932DAA.90022D27 
  198. cur_len = F, blocks_used = 1(d), ref_cnt = 1, lock_key = 0
  199. dtu= (5D93323D.0000)  Thursday, January 14, 1993   10:38:57 pm (PST)
  200. dtm= (5D933248.81E4)  Thursday, January 14, 1993   10:39:00 pm (PST)
  201. dta= (5D933248.F170)  Thursday, January 14, 1993   10:39:00 pm (PST)
  202. dtv= (5D933248.81DF)  Thursday, January 14, 1993   10:39:00 pm (PST)
  203. Mgr_Data_a = 01009000 00000000
  204. Mgr_Data_b = 00000000 00000000
  205. Real Device # = 0100
  206. owner uid  (unix_id):  51106746.3000AFA2 (    64)   -PRWX-
  207. group uid  (unix_id):  00800040.00000000 (     C)   -PRWX-
  208. org   uid  (unix_id):  00800080.00000000 (     C)   -(ignore_rts)-
  209. World/Stat rights:      -PRWX-    -NO RIGHTS PRESENT-
  210. Extended acl uid: 00000000.00000000
  211.   0:    10C52        0        0        0        0        0        0        0
  212.   8:        0        0        0        0        0        0        0        0
  213.  16:        0        0        0        0        0        0        0        0
  214.  24:        0        0        0        0        0        0        0        0
  215. L1, L2, L3 filemaps:        0        0        0 
  216.  
  217. (fv [1])> r 10c52
  218.    uid:       5D93314D.10022D27 
  219.    page:      0
  220.    dtm:       5D933248   Thursday, January 14, 1993   10:39:00 pm (PST)
  221.    blk_type:  0 
  222.    sys_type:  0 (file_$file_type)
  223.    pad:       00000000 00000000
  224.    checksum:  0000
  225.    daddr:      10C53: ( 1DD- 0- 3)
  226.  
  227. (fv [1])> show
  228. unrecognized block type
  229.  
  230. (fv [1])> edit
  231. ed> d 0 3fc
  232.  
  233.     0 :  74686973 20697320 61207465 73740A00        0        0        0        0
  234.    20 :         0        0        0        0        0        0        0        0
  235.    40 :         0        0        0        0        0        0        0        0
  236.    60 :         0        0        0        0        0        0        0        0
  237.    80 :         0        0        0        0        0        0        0        0
  238.    A0 :         0        0        0        0        0        0        0        0
  239.    C0 :         0        0        0        0        0        0        0        0
  240.    E0 :         0        0        0        0        0        0        0        0
  241.   100 :         0        0        0        0        0        0        0        0
  242.   120 :         0        0        0        0        0        0        0        0
  243.   140 :         0        0        0        0        0        0        0        0
  244.   160 :         0        0        0        0        0        0        0        0
  245.   180 :         0        0        0        0        0        0        0        0
  246.   1A0 :         0        0        0        0        0        0        0        0
  247.   1C0 :         0        0        0        0        0        0        0        0
  248.   1E0 :         0        0        0        0        0        0        0        0
  249.   200 :         0        0        0        0        0        0        0        0
  250.   220 :         0        0        0        0        0        0        0        0
  251.   240 :         0        0        0        0        0        0        0        0
  252.   260 :         0        0        0        0        0        0        0        0
  253.   280 :         0        0        0        0        0        0        0        0
  254.   2A0 :         0        0        0        0        0        0        0        0
  255.   2C0 :         0        0        0        0        0        0        0        0
  256.   2E0 :         0        0        0        0        0        0        0        0
  257.   300 :         0        0        0        0        0        0        0        0
  258.   320 :         0        0        0        0        0        0        0        0
  259.   340 :         0        0        0        0        0        0        0        0
  260.   360 :         0        0        0        0        0        0        0        0
  261.   380 :         0        0        0        0        0        0        0        0
  262.   3A0 :         0        0        0        0        0        0        0        0
  263.   3C0 :         0        0        0        0        0        0        0        0
  264.   3E0 :         0        0        0        0        0        0        0        0
  265. ed> q
  266.  
  267. (fv [1])> r 11fca
  268.    uid:       204.00000000 vtoc_bkt_$uid
  269.    page:      11FCA
  270.    dtm:       5D933248   Thursday, January 14, 1993   10:39:00 pm (PST)
  271.    blk_type:  0 
  272.    sys_type:  0 (file_$file_type)
  273.    pad:       00000000 00000000
  274.    checksum:  0000
  275.    daddr:      11FCB: ( 1FF- 5- 1)
  276.  
  277. (fv [1])> show
  278. VTOC Bucket # 0   (at mem address 3B328C00):
  279.   next block = 0, next bucket = 0
  280. [ 0] ... empty
  281. [ 1] ... empty
  282. [ 2] ... empty
  283. [ 3] ... empty
  284. [ 4] ... empty
  285. [ 5] ... empty
  286. [ 6] ... empty
  287. [ 7] ... empty
  288. [ 8] ... empty
  289. [ 9] ... empty
  290. [ A] ... empty
  291. [ B] ... empty
  292. [ C] ... empty
  293. [ D] ... empty
  294. [ E] ... empty
  295. [ F] ... empty
  296. [10] ... empty
  297. [11] ... empty
  298. [12] ... empty
  299. [13] ... empty
  300. Display next bucket within block?y
  301. VTOC Bucket # 1   (at mem address 3B328CF8):
  302.   next block = 0, next bucket = 0
  303. [ 0] ... empty
  304. [ 1] ... empty
  305. [ 2] ... empty
  306. [ 3] ... empty
  307. [ 4] ... empty
  308. [ 5] ... empty
  309. [ 6] ... empty
  310. [ 7] ... empty
  311. [ 8] ... empty
  312. [ 9] ... empty
  313. [ A] ... empty
  314. [ B] ... empty
  315. [ C] ... empty
  316. [ D] ... empty
  317. [ E] ... empty
  318. [ F] ... empty
  319. [10] ... empty
  320. [11] ... empty
  321. [12] ... empty
  322. [13] ... empty
  323. Display next bucket within block?y
  324. VTOC Bucket # 2   (at mem address 3B328DF0):
  325.   next block = 0, next bucket = 0
  326. [ 0] ... vtocx =   10C511,   5D93314D.10022D27 
  327. [ 1] ... empty
  328. [ 2] ... empty
  329. [ 3] ... empty
  330. [ 4] ... empty
  331. [ 5] ... empty
  332. [ 6] ... empty
  333. [ 7] ... empty
  334. [ 8] ... empty
  335. [ 9] ... empty
  336. [ A] ... empty
  337. [ B] ... empty
  338. [ C] ... empty
  339. [ D] ... empty
  340. [ E] ... empty
  341. [ F] ... empty
  342. [10] ... empty
  343. [11] ... empty
  344. [12] ... empty
  345. [13] ... empty
  346. Display next bucket within block?y
  347. VTOC Bucket # 3   (at mem address 3B328EE8):
  348.   next block = 0, next bucket = 0
  349. [ 0] ... empty
  350. [ 1] ... empty
  351. [ 2] ... empty
  352. [ 3] ... empty
  353. [ 4] ... empty
  354. [ 5] ... empty
  355. [ 6] ... empty
  356. [ 7] ... empty
  357. [ 8] ... empty
  358. [ 9] ... empty
  359. [ A] ... empty
  360. [ B] ... empty
  361. [ C] ... empty
  362. [ D] ... empty
  363. [ E] ... empty
  364. [ F] ... empty
  365. [10] ... empty
  366. [11] ... empty
  367. [12] ... empty
  368. [13] ... empty
  369.  
  370. (fv [1])> bat 10c52
  371.    bat blk daddr = 120BA ... longword offset = 188 ... bit mask = 80
  372. Block is marked inuse in the BAT
  373.  
  374. (fv [1])> r 11fca
  375.    uid:       204.00000000 vtoc_bkt_$uid
  376.    page:      11FCA
  377.    dtm:       5D933248   Thursday, January 14, 1993   10:39:00 pm (PST)
  378.    blk_type:  0 
  379.    sys_type:  0 (file_$file_type)
  380.    pad:       00000000 00000000
  381.    checksum:  0000
  382.    daddr:      11FCB: ( 1FF- 5- 1)
  383. FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  384. (fv [1])> edit bkt
  385. bkt> bkt[2]
  386. bkt.bkt[2]> ent[0]
  387. bkt.bkt[2].ent[0]> uid
  388.  (1F8) uid[0]        == 5D93314D  : 0
  389.  (1FC) uid[1]        == 10022D27  : 0
  390. bkt.bkt[2].ent[0]> loc
  391.  (200) loc           ==   10C511  : 0
  392. bkt.bkt[2].ent[0]> q
  393.  
  394. (fv [1])> w
  395. writing from stack bfr 1 to daddr 11FCA (physical 11FCB), ok (y or n)? y
  396.  
  397. (fv [1])> q
  398. GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
  399. $ mtvol w win1
  400. $ ld win1/... -a
  401.  
  402. sys   type      blocks  current
  403. type  uid         used   length   attr rights       name
  404.  
  405. sdir  nil            1      1024  P    prwx-        win1
  406. file  nil            0         0  P    prwx-        win1/lost+found.list
  407. dir   nil            1      1024  P    prwx-        win1/sys
  408. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  409. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  410. file  boot          10     10240  P    prwx-        win1/sysboot
  411. file  unstruct       1        15  P    prwx-        win1/testfile
  412.  
  413. 7 entries listed, 15 blocks used.
  414. HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
  415. $ dmtvol w win1
  416. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
  417. $ mtvol w win1
  418. $ ld win1/... -a
  419.  
  420. sys   type      blocks  current
  421. type  uid         used   length   attr rights       name
  422.  
  423. sdir  nil            1      1024  P    prwx-        win1
  424. file  nil            0         0  P    prwx-        win1/lost+found.list
  425. dir   nil            1      1024  P    prwx-        win1/sys
  426. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  427. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  428. file  boot          10     10240  P    prwx-        win1/sysboot
  429. file  unstruct       1        15  P    prwx-        win1/testfile
  430.  
  431. 7 entries listed, 15 blocks used.
  432. $ dmtvol w win1
  433. JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
  434. $ fixvol
  435.  
  436. Warning: this program is intended only for the use of Apollo service
  437. representatives.  Misuse of this program may irreparably damage your
  438. disk.  To exit, type "q" to the following prompt.
  439.  
  440. Fix-Volume utility, revision 10.3, 08/08/90
  441.  
  442. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#][s]   w
  443.  
  444. (fv [p])> q
  445. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
  446. $ mtvol w win1
  447. $ ld win1/... -a
  448.  
  449. sys   type      blocks  current
  450. type  uid         used   length   attr rights       name
  451.  
  452. sdir  nil            1      1024  P    prwx-        win1
  453. file  nil            0         0  P    prwx-        win1/lost+found.list
  454. dir   nil            1      1024  P    prwx-        win1/sys
  455. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  456. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  457. file  boot          10     10240  P    prwx-        win1/sysboot
  458. file  unstruct       1        15  P    prwx-        win1/testfile
  459.  
  460. 7 entries listed, 15 blocks used.
  461. $ dmtvol w win1
  462. LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
  463. $ salvol
  464.  
  465.  
  466. Salvol, revision 10.3, June 18, 1990  12:56:18 pm
  467.  
  468.  
  469.  
  470. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#] w
  471.  
  472. Salvol options:
  473.      -a : read all blocks in all files
  474.      -f : fix disk errors without prompting
  475.      -n : only salvage if disk needs it
  476.      -s : print statistics at the end of salvage
  477.      -p : polite mode, pause before overflowing screen
  478.      -v : verify only (don't write anything to disk)
  479. Please input lv_num (1)[-option]... : 1 -v
  480.  
  481.     Preparing file list...
  482.  
  483.     Salvaging...  % complete
  484.         20
  485.         40
  486.         60
  487.         80
  488.        100
  489.  
  490.  
  491.     Verifying reference counts...
  492.  
  493.  
  494. <---   Salvage complete on logical volume: 1 --->
  495.  
  496.  
  497. Summary:
  498.  
  499. 146430 Kb free, previously 146429 Kb free, total capacity: 146868 Kb
  500.  
  501. 7 objects were found using a total of 5 Kb, average length 0 Kb
  502. 5 directories; 0 links; 1 catalogued objects not found
  503.  
  504. Salvage complete
  505. Anything more to do? n
  506. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  507. $ salvol
  508.  
  509.  
  510. Salvol, revision 10.3, June 18, 1990  12:56:18 pm
  511.  
  512.  
  513.  
  514. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#] w
  515.  
  516. Salvol options:
  517.      -a : read all blocks in all files
  518.      -f : fix disk errors without prompting
  519.      -n : only salvage if disk needs it
  520.      -s : print statistics at the end of salvage
  521.      -p : polite mode, pause before overflowing screen
  522.      -v : verify only (don't write anything to disk)
  523. Please input lv_num (1)[-option]... : 1 -v
  524.  
  525.     Preparing file list...
  526.  
  527.     Salvaging...  % complete
  528.         20
  529.         40
  530.         60
  531.         80
  532.        100
  533.  
  534.  
  535.     Verifying reference counts...
  536.  
  537.  
  538. <---   Salvage complete on logical volume: 1 --->
  539.  
  540.  
  541. Summary:
  542.  
  543. 146430 Kb free, previously 146429 Kb free, total capacity: 146868 Kb
  544.  
  545. 7 objects were found using a total of 5 Kb, average length 0 Kb
  546. 5 directories; 0 links; 1 catalogued objects not found
  547.  
  548. Salvage complete
  549. Anything more to do? n
  550. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
  551. $ mtvol w win1
  552. $ ld win1/... -a
  553.  
  554. sys   type      blocks  current
  555. type  uid         used   length   attr rights       name
  556.  
  557. sdir  nil            1      1024  P    prwx-        win1
  558. file  nil            0         0  P    prwx-        win1/lost+found.list
  559. dir   nil            1      1024  P    prwx-        win1/sys
  560. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  561. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  562. file  boot          10     10240  P    prwx-        win1/sysboot
  563. file  unstruct       1        15  P    prwx-        win1/testfile
  564.  
  565. 7 entries listed, 15 blocks used.
  566. $ dmtvol w win1
  567. OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
  568. $ salvol
  569.  
  570.  
  571. Salvol, revision 10.3, June 18, 1990  12:56:18 pm
  572.  
  573.  
  574.  
  575. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#] w
  576.  
  577. Salvol options:
  578.      -a : read all blocks in all files
  579.      -f : fix disk errors without prompting
  580.      -n : only salvage if disk needs it
  581.      -s : print statistics at the end of salvage
  582.      -p : polite mode, pause before overflowing screen
  583.      -v : verify only (don't write anything to disk)
  584. Please input lv_num (1)[-option]... : 1
  585.  
  586.     Preparing file list...
  587.  
  588.     Salvaging...  % complete
  589.         20
  590.         40
  591.         60
  592.         80
  593.        100
  594.  
  595.  
  596.     Verifying reference counts...
  597.  
  598.  
  599. <---   Salvage complete on logical volume: 1 --->
  600.  
  601.  
  602. Summary:
  603.  
  604. 146430 Kb free, previously 146429 Kb free, total capacity: 146868 Kb
  605.  
  606. 7 objects were found using a total of 5 Kb, average length 0 Kb
  607. 5 directories; 0 links; 1 catalogued objects not found
  608.  
  609. Salvage complete
  610. Anything more to do? n
  611. PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
  612. $ mtvol w win1
  613. $ ld win1/... -a
  614.  
  615. sys   type      blocks  current
  616. type  uid         used   length   attr rights       name
  617.  
  618. sdir  nil            1      1024  P    prwx-        win1
  619. file  nil            0         0  P    prwx-        win1/lost+found.list
  620. dir   nil            1      1024  P    prwx-        win1/sys
  621. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  622. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  623. file  boot          10     10240  P    prwx-        win1/sysboot
  624. (attributes unavailable)                            win1/testfile
  625.  
  626. 7 entries listed, 14 blocks used.
  627. QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  628. $ find_orphans -search win1
  629. Number of orphans: 0
  630. $ ld win1/... -a
  631.  
  632. sys   type      blocks  current
  633. type  uid         used   length   attr rights       name
  634.  
  635. sdir  nil            1      1024  P    prwx-        win1
  636. dir   nil            1      1024  P    prwx-        win1/lost+found
  637. file  nil            0         0  P    prwx-        win1/lost+found.list
  638. dir   nil            1      1024  P    prwx-        win1/sys
  639. dir   nil            1      1024  P    prwx-        win1/sys/node_data
  640. dir   nil            1      1024  P    prwx-        win1/sys/node_data/system_logs
  641. file  boot          10     10240  P    prwx-        win1/sysboot
  642. (attributes unavailable)                            win1/testfile
  643.  
  644. 8 entries listed, 15 blocks used.
  645. RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
  646. $ dmtvol w win1
  647. SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
  648. $ fixvol
  649.  
  650. Warning: this program is intended only for the use of Apollo service
  651. representatives.  Misuse of this program may irreparably damage your
  652. disk.  To exit, type "q" to the following prompt.
  653.  
  654. Fix-Volume utility, revision 10.3, 08/08/90
  655.  
  656. Select disk: [w=Winch|s=Storage mod|f=Floppy|q=Quit][ctrl#:][unit#][s]   w
  657.  
  658. (fv [p])> lv 1
  659. TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
  660. (fv [1])> vu 5D93314D.10022D27
  661. UID hashes to bucket block at daddr = 11FCA, bucket # 2(hex)
  662. ... UID contained within bucket block at daddr = 0, bucket # 0, index # 0
  663. ... VTOCE contained within block at daddr = 0, index # 0
  664. vtoce entry not found
  665.  
  666. (fv [1])> r 11fca
  667.    uid:       204.00000000 vtoc_bkt_$uid
  668.    page:      11FCA
  669.    dtm:       5D933248   Thursday, January 14, 1993   10:39:00 pm (PST)
  670.    blk_type:  0 
  671.    sys_type:  0 (file_$file_type)
  672.    pad:       00000000 00000000
  673.    checksum:  0000
  674.    daddr:      11FCB: ( 1FF- 5- 1)
  675.  
  676. (fv [1])> show
  677. VTOC Bucket # 0   (at mem address 3B328C00):
  678.   next block = 0, next bucket = 0
  679. [ 0] ... empty
  680. [ 1] ... empty
  681. [ 2] ... empty
  682. [ 3] ... empty
  683. [ 4] ... empty
  684. [ 5] ... empty
  685. [ 6] ... empty
  686. [ 7] ... empty
  687. [ 8] ... empty
  688. [ 9] ... empty
  689. [ A] ... empty
  690. [ B] ... empty
  691. [ C] ... empty
  692. [ D] ... empty
  693. [ E] ... empty
  694. [ F] ... empty
  695. [10] ... empty
  696. [11] ... empty
  697. [12] ... empty
  698. [13] ... empty
  699. Display next bucket within block?y
  700. VTOC Bucket # 1   (at mem address 3B328CF8):
  701.   next block = 0, next bucket = 0
  702. [ 0] ... empty
  703. [ 1] ... empty
  704. [ 2] ... empty
  705. [ 3] ... empty
  706. [ 4] ... empty
  707. [ 5] ... empty
  708. [ 6] ... empty
  709. [ 7] ... empty
  710. [ 8] ... empty
  711. [ 9] ... empty
  712. [ A] ... empty
  713. [ B] ... empty
  714. [ C] ... empty
  715. [ D] ... empty
  716. [ E] ... empty
  717. [ F] ... empty
  718. [10] ... empty
  719. [11] ... empty
  720. [12] ... empty
  721. [13] ... empty
  722. Display next bucket within block?y
  723. VTOC Bucket # 2   (at mem address 3B328DF0):
  724.   next block = 0, next bucket = 0
  725. [ 0] ... empty
  726. [ 1] ... empty
  727. [ 2] ... empty
  728. [ 3] ... empty
  729. [ 4] ... empty
  730. [ 5] ... empty
  731. [ 6] ... empty
  732. [ 7] ... empty
  733. [ 8] ... empty
  734. [ 9] ... empty
  735. [ A] ... empty
  736. [ B] ... empty
  737. [ C] ... empty
  738. [ D] ... empty
  739. [ E] ... empty
  740. [ F] ... empty
  741. [10] ... empty
  742. [11] ... empty
  743. [12] ... empty
  744. [13] ... empty
  745. Display next bucket within block?n
  746. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
  747. (fv [1])> r 10c52
  748.    uid:       5D9339E3.90022D27 
  749.    page:      0
  750.    dtm:       5D933AD3   Thursday, January 14, 1993   10:48:33 pm (PST)
  751.    blk_type:  0 
  752.    sys_type:  1 (file_$dir_type)
  753.    pad:       00000000 00000000
  754.    checksum:  0000
  755.    daddr:      10C53: ( 1DD- 0- 3)
  756. VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
  757. (fv [1])> r 10c51
  758.    uid:       202.00000000 vtoc_$uid
  759.    page:      10C51
  760.    dtm:       5D933B38   Thursday, January 14, 1993   10:49:00 pm (PST)
  761.    blk_type:  0 
  762.    sys_type:  0 (file_$file_type)
  763.    pad:       00000000 00000000
  764.    checksum:  0000
  765.    daddr:      10C52: ( 1DD- 0- 2)
  766.  
  767. (fv [1])> show
  768. VTOCE # 0 ... at mem address 3B328C08
  769. ---Link to next partial block: 0, vtoce count (v_cnt): 2
  770.  
  771. version = 1, sys_type = 0 (file_type)
  772. con_ctrl = 0 (none), permanent  not-immutable  not-audited 
  773. object uid= 5D932DAA.D0022D27 
  774.   type uid= 0.00000000 uid_$nil
  775.    dir uid= 5D932DAA.90022D27 
  776. cur_len = 0, blocks_used = 0(d), ref_cnt = 1, lock_key = 0
  777. dtu= (5D932E9A.FE52)  Thursday, January 14, 1993   10:34:53 pm (PST)
  778. dtm= (5D932E9A.FE52)  Thursday, January 14, 1993   10:34:53 pm (PST)
  779. dta= (5D932E9A.FE52)  Thursday, January 14, 1993   10:34:53 pm (PST)
  780. dtv= (00000000.0000)  0
  781. Mgr_Data_a = 00000000 00000000
  782. Mgr_Data_b = 00000000 00000000
  783. Real Device # = 0000
  784. owner uid  (unix_id):  00000542.00000000 (     0)   -PRWX-
  785. group uid  (unix_id):  00800049.00000000 (     0)   -PRWX-
  786. org   uid  (unix_id):  00800080.00000000 (     C)   -(ignore_rts)-
  787. World/Stat rights:      -PRWX-    -NO RIGHTS PRESENT-
  788. Extended acl uid: 00000000.00000000
  789.   0:        0        0        0        0        0        0        0        0
  790.   8:        0        0        0        0        0        0        0        0
  791.  16:        0        0        0        0        0        0        0        0
  792.  24:        0        0        0        0        0        0        0        0
  793. L1, L2, L3 filemaps:        0        0        0 
  794. Display next VTOCE within block?y
  795. VTOCE # 1 ... at mem address 3B328D58
  796.  
  797. version = 1, sys_type = 1 (dir_type)
  798. con_ctrl = 0 (none), permanent  not-immutable  not-audited 
  799. object uid= 5D9339E3.90022D27 
  800.   type uid= 0.00000000 uid_$nil
  801.    dir uid= 5D932DAA.90022D27 
  802. cur_len = 400, blocks_used = 1(d), ref_cnt = 1, lock_key = 0
  803. dtu= (5D933B27.7F74)  Thursday, January 14, 1993   10:48:55 pm (PST)
  804. dtm= (5D933AD3.D78E)  Thursday, January 14, 1993   10:48:33 pm (PST)
  805. dta= (5D933AD4.158F)  Thursday, January 14, 1993   10:48:34 pm (PST)
  806. dtv= (5D933AD4.15BC)  Thursday, January 14, 1993   10:48:34 pm (PST)
  807. Mgr_Data_a = 00000000 00000000
  808. Mgr_Data_b = 00000000 00000000
  809. Real Device # = 0000
  810. owner uid  (unix_id):  51106746.3000AFA2 (    64)   -PRWX-
  811. group uid  (unix_id):  00800040.00000000 (     C)   -PRWX-
  812. org   uid  (unix_id):  00800080.00000000 (     C)   -(ignore_rts)-
  813. World/Stat rights:      -PRWX-    -NO RIGHTS PRESENT-
  814. Extended acl uid: 00000000.00000000
  815.   0:    10C52        0        0        0        0        0        0        0
  816.   8:        0        0        0        0        0        0        0        0
  817.  16:        0        0        0        0        0        0        0        0
  818.  24:        0        0        0        0        0        0        0        0
  819. L1, L2, L3 filemaps:        0        0        0 
  820. Display next VTOCE within block?y
  821. VTOCE # 2 ... at mem address 3B328EA8
  822. NOT IN USE
  823. WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
  824. (fv [1])> r 10c52
  825.    uid:       5D9339E3.90022D27 
  826.    page:      0
  827.    dtm:       5D933AD3   Thursday, January 14, 1993   10:48:33 pm (PST)
  828.    blk_type:  0 
  829.    sys_type:  1 (file_$dir_type)
  830.    pad:       00000000 00000000
  831.    checksum:  0000
  832.    daddr:      10C53: ( 1DD- 0- 3)
  833.  
  834. (fv [1])> edit
  835. ed> show
  836. -->Illegal command?
  837. The following commands are supported:
  838.    q                                           quit
  839.    a <addr>          [:ahlwb]                  access
  840.          followed by optional new value (1234 or `stuv)
  841.    d <addr1> <addr2> [#per-line] [:ahlwb]      dump
  842.    z                                           zero page
  843.  
  844.        [Ascii Hex Longword Word Byte]
  845. ed> d 0 3fc
  846.  
  847.     0 :     50000        0        0 FFFF0084  3F00100   700068        0        0
  848.    20 :         0        0        0        0      F0F 100F0000     FFFF FFFFFFFF
  849.    40 :  FFFFFFFF FFFF0000        0        0        0        0        0        0
  850.    60 :         0      F0F 100F0000     FFFF FFFFFFFF FFFFFFFF FFFF0000        0
  851.    80 :       3F0        0        0        0        0        0        0        0
  852.    A0 :         0        0        0        0        0        0        0        0
  853.    C0 :         0        0        0        0        0        0        0        0
  854.    E0 :         0        0        0        0        0        0        0        0
  855.   100 :         0        0        0        0        0        0        0        0
  856.   120 :         0        0        0        0        0        0        0        0
  857.   140 :         0        0        0        0        0        0        0        0
  858.   160 :         0        0        0        0        0        0        0        0
  859.   180 :         0        0        0        0        0        0        0        0
  860.   1A0 :         0        0        0        0        0        0        0        0
  861.   1C0 :         0        0        0        0        0        0        0        0
  862.   1E0 :         0        0        0        0        0        0        0        0
  863.   200 :         0        0        0        0        0        0        0        0
  864.   220 :         0        0        0        0        0        0        0        0
  865.   240 :         0        0        0        0        0        0        0        0
  866.   260 :         0        0        0        0        0        0        0        0
  867.   280 :         0        0        0        0        0        0        0        0
  868.   2A0 :         0        0        0        0        0        0        0        0
  869.   2C0 :         0        0        0        0        0        0        0        0
  870.   2E0 :         0        0        0        0        0        0        0        0
  871.   300 :         0        0        0        0        0        0        0        0
  872.   320 :         0        0        0        0        0        0        0        0
  873.   340 :         0        0        0        0        0        0        0        0
  874.   360 :         0        0        0        0        0        0        0        0
  875.   380 :         0        0        0        0        0        0        0        0
  876.   3A0 :         0        0        0        0        0        0        0        0
  877.   3C0 :         0        0        0        0        0        0        0        0
  878.   3E0 :         0        0        0        0  4010000 FFFF0000        0        0
  879. ed> q
  880. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  881. (fv [1])> edit dir
  882. dir> 
  883. Huh?  
  884. dir> h
  885. -->Legal choices are:
  886.     q           up
  887.     hdr..       infoblk..   index[]     entry[]..   
  888. dir> hdr
  889. dir.hdr> 
  890. Huh?  
  891. dir.hdr> h
  892. -->Legal choices are:
  893.     q           up
  894.     info..      transid[]   nodeno      right       indx_free   entr_free   
  895. dir.hdr> /
  896. -->Legal choices are:
  897.     q           up
  898.     info..      transid[]   nodeno      right       indx_free   entr_free   
  899. dir.hdr> .
  900. -->Legal choices are:
  901.     q           up
  902.     info..      transid[]   nodeno      right       indx_free   entr_free   
  903. dir.hdr> 
  904. Huh?  
  905. dir.hdr> up
  906. dir> infoblk
  907. dir.infoblk> h
  908. -->Legal choices are:
  909.     q           up
  910.     vers        tot_len     hdr_len     d_pinfo..   d_xuid[]    f_pinfo..   
  911.     f_xuid[]    
  912. dir.infoblk> q
  913.  
  914. (fv [1])> ds
  915. Current LV: 1
  916. Buffer stack:
  917.    buffer 1: lv 1, ldaddr 10C52 (pdaddr 10C53)                      uid= 5D9339E3.90022D27   page=     0
  918. Current buffer: 1
  919.  
  920. (fv [1])> r 10c52
  921.    uid:       5D9339E3.90022D27 
  922.    page:      0
  923.    dtm:       5D933AD3   Thursday, January 14, 1993   10:48:33 pm (PST)
  924.    blk_type:  0 
  925.    sys_type:  1 (file_$dir_type)
  926.    pad:       00000000 00000000
  927.    checksum:  0000
  928.    daddr:      10C53: ( 1DD- 0- 3)
  929.  
  930. (fv [1])> show dir
  931. Leaf node     node#= 0(hex)
  932. link     :   text= 
  933. YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
  934. (fv [1])> bat 10c52
  935.    bat blk daddr = 120BA ... longword offset = 188 ... bit mask = 80
  936. Block is marked inuse in the BAT
  937. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  938. (fv [1])> vu 5D9339E3.90022D27 
  939. UID hashes to bucket block at daddr = 12052, bucket # 0(hex)
  940. ... UID contained within bucket block at daddr = 12052, bucket # 0, index # 0
  941. ... VTOCE contained within block at daddr = 10C51, index # 1
  942. VTOCE # 1 ... at mem address 3B328D58
  943. ---Link to next partial block: 0, vtoce count (v_cnt): 2
  944.  
  945. version = 1, sys_type = 1 (dir_type)
  946. con_ctrl = 0 (none), permanent  not-immutable  not-audited 
  947. object uid= 5D9339E3.90022D27 
  948.   type uid= 0.00000000 uid_$nil
  949.    dir uid= 5D932DAA.90022D27 
  950. cur_len = 400, blocks_used = 1(d), ref_cnt = 1, lock_key = 0
  951. dtu= (5D933B27.7F74)  Thursday, January 14, 1993   10:48:55 pm (PST)
  952. dtm= (5D933AD3.D78E)  Thursday, January 14, 1993   10:48:33 pm (PST)
  953. dta= (5D933AD4.158F)  Thursday, January 14, 1993   10:48:34 pm (PST)
  954. dtv= (5D933AD4.15BC)  Thursday, January 14, 1993   10:48:34 pm (PST)
  955. Mgr_Data_a = 00000000 00000000
  956. Mgr_Data_b = 00000000 00000000
  957. Real Device # = 0000
  958. owner uid  (unix_id):  51106746.3000AFA2 (    64)   -PRWX-
  959. group uid  (unix_id):  00800040.00000000 (     C)   -PRWX-
  960. org   uid  (unix_id):  00800080.00000000 (     C)   -(ignore_rts)-
  961. World/Stat rights:      -PRWX-    -NO RIGHTS PRESENT-
  962. Extended acl uid: 00000000.00000000
  963.   0:    10C52        0        0        0        0        0        0        0
  964.   8:        0        0        0        0        0        0        0        0
  965.  16:        0        0        0        0        0        0        0        0
  966.  24:        0        0        0        0        0        0        0        0
  967. L1, L2, L3 filemaps:        0        0        0 
  968.  
  969. (fv [1])> q
  970. -- 
  971. Paul Walker  (619) 484-4049
  972.     UUCP:      ...!{ryptyde.cts.com, crash.cts.com}!pentode!paul
  973.     Internet:  pentode!paul@ryptyde.cts.com
  974.  
  975. -- 
  976. Paul Walker  (619) 484-4049
  977.     UUCP:      ...!{ryptyde.cts.com, crash.cts.com}!pentode!paul
  978.     Internet:  pentode!paul@ryptyde.cts.com
  979.