						Dedicated to all
						corrupted JFS Volumes...

  JRescuer for JFS 
		Pavel Shtemenko
		
		begining by october 2001

		Introduction
This tool is for retrieve files from JFS volumes, which are unavailable
due to any of a lot of reasons: phase 3 chkdsk fail etc.

NOTE: This programm don't need for jfs.ifs & LVM, so you can run it under
Warp 3 too (with appropriate fixes for your disks, drivers etc., of course ;-).

		Command line options:
  JRescuer d: /o

   Where "d" is letter damaged volume, "o" is one from below options. Drive letter
is need, option is optional. Wihtout option, JRescuer began rescue whole volume. Also,
you can use "d" as physical disk number.


 S[=number]  - search [any owner dir]

	Finds any files, exept deleted, S find all directory, which has owner dir with inode = number

 D[=number]  - print directory & files only
	Screen output of all the data that were found with this program and specified conditions.
       You can to cause level of down. For example:
          JRescuer d: /D=1
       mean to print root directory only.

 R     - remount drive
	In the case that the disk structure is not corrupted, but CHKDSK failed.
	This option allow you to "revive for this session only" disk which was unaccessible after OS/n :) start and chkdsk
	fails. In the worst wcase it will do nothing.

 CPcp  - additional codepage
	With multi codepage environment (i.e. local station works in cp 866, but
	LAN users work with CP1251 volumes) that will help to repair filenames in correct cp.
	But it requires LANG variable to be set in config.sys and all languages support to be installed.
	The detailed description - in commercial version (coming soon).

 I     - starting inode (directory)
	I-node defines root directory (see details below)

 G    - get file by full pathname
    Get file by full pathname, letter of volume not present. For example:

           JRescuer d: /G=\needDir\anotherDir\need.file

    mean get one file d:\needDir\anotherDir\need.file to current dir


 U    - get list of delete files. This option print list of delete inodes:

     InodeNumber LastAccessTime LastChengedTime LastModefiedTime LastCreatedTime SizeOfFile

        for undelete file, you can to type:
           JRescuer d: /U=InodeNumber

        for undelete whole dir, you can to type:
           JRescuer d: /I=InodeNumber

     Jrescuer get this file (if it possible) and place data of file to Restored.From.JFS in current dir.
  Don't recommended restored to "d:" (in this case)

 U=InodeNumber - get file with this inode number

      Get file with inode == InodeNumber. Possible for any files, deletes or no.

 U=*           get all deletes files

      Get all deletes files

 O - Output path
   
   Set output path, where restore or undelete files.

 2 - Begin from second superblock

   Default - get first superblock (SB), if fail get second. This option cause get second SB, if fail
   get first SB

Methods

	The one of lowest JFS detail is inode, it contains record type and a lot of other info.
0's and 1'st inodes are reserved with JFS. So, you must start volume reparation 
from inode  number 2. When you start it with option D you'll see following
list:

InodeNumber  Name  Flag (i.e.: 4096 tmp DIR)
	Where is InodeNumber - is integer number of this file (directory) inode named 
	as Name. Flag values are DIR or space. Space means that it is separate file
	and it can't not be get that moment - you may get only directory at all.

To get it use:
	JRescuer /i=4096

It will result in getting all folders pointed with inode 4096 and list it's content.
All repaired files and directoris are stored starting from the place where JRescuer started.

