xfs
[Top] [All Lists]

TAKE - xfsrestore/xfsdump/xfsinvutil

To: unlisted-recipients:; (no To-header on input)
Subject: TAKE - xfsrestore/xfsdump/xfsinvutil
From: Tim Shimmin <tes@xxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 18 Oct 2000 17:32:27 +1100
Sender: owner-linux-xfs@xxxxxxxxxxx
Fixes for xfsrestore to allow it to handle large tape blocks 
(up to 2Mb) which are bigger than the default buffer size of 1 Mb.
The point of this is to make it easier to restore IRIX dumps
onto Linux - so won't explicitly need to set buffer size (-b).

This problem normally causes ENOMEM which wasn't handled very well.
Note: 1Mb buffer has greater chance of working with the 
Linux scsi tape driver default config which is why we chose it
as the default.
- 2Mb often causes EOVERFLOW to be produced by tape driver 
(need to set max_sg_segs=64, as mentioned in docs).

As a byproduct of the above, a bug was found in the linux
scsi tape driver. That is, after finding out that it has got
the wrong buffersize, it attempts to back space and try again.
However, backspacing in the first media file caused the
status flags to be stuffed - so a rewind is done in this instance.
Arggh.

Also fixes stupid bug in xfsinvutil.

Some associated qa tests.

--Tim

Date:  Tue Oct 17 23:14:41 PDT 2000
Workarea:  sherman.melbourne.sgi.com:/hosts/snort/build4/tes/slinx-xfs

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs


Modid:  2.4.x-xfs:slinx:76390a
cmd/xfs/stress/046.out - 1.1
        - Shows that listing of dump/restore dirs match.

cmd/xfs/stress/047.out - 1.1
        - Shows results of pruning inventory.

cmd/xfs/stress/047 - 1.1
        - Tests out invutil in interactive mode.

cmd/xfs/stress/046 - 1.1
        - Checks that the owner/group and permissions are xfsrestored correctly
          for symlinks. This would have shown up the lchown problem on symlinks.
          I thought I'd noticed this problem before but hadn't written the test 
yet.

cmd/xfs/stress/group - 1.48
        - Add 046, 047.

cmd/xfs/dump/common/drive_minrmt.c - 1.24
        - Add code to handle having tape blocks which are bigger
          than the allocated buffer.
          (handles ENOMEM in Linux)

cmd/xfs/dump/common/drive_scsitape.c - 1.28
        - 1. Add code to handle having tape blocks which are bigger
          than the allocated buffer.
          (handles ENOMEM in Linux)
          2. Modify backspace code to handle the case when it is in
          the first media file. If it is in the first media file then
          do a rewind instead of a bsf. This is a workaround for a
          bug in the linux scsi tape driver where bsp'ing in the first
          file does not set the status flags correctly (should be at BOT).
          Kai Makisara suggested the workaround.

cmd/xfs/dump/invutil/invutil.c - 1.9
        - Fix stupid porting bug - when changing gets() to fgets() - oops.
          Added qa test 047 to test this. Previously my qa testing of invutil
          used the -n option which didn't require interactive input.

cmd/xfs/dump/restore/content.c - 1.18
        - Add a diagnostic mlog message that shows the session uuid obtained
          from the inventory compared with the session uuid obtained from
          the global header off the tape.
          This was used to find out why xfsrestore wasn't finding the session
          that I specified using the label - b/c it uses the session label
          from the inventory which may have a different uuid !

cmd/xfs/stress/common.dump - 1.17
        - Add _create_dumpdir_symlinks to create files and symlinks of
          various permissions and ownerships/groupships for use by
          046.



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - xfsrestore/xfsdump/xfsinvutil, Tim Shimmin <=