home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / apollo / 4306 < prev    next >
Encoding:
Text File  |  1993-01-22  |  34.7 KB  |  976 lines

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