Browse Prior Art Database

Assured Magneto-Optical Media Directory by Journaling

IP.com Disclosure Number: IPCOM000100736D
Original Publication Date: 1990-May-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 6 page(s) / 225K

Publishing Venue

IBM

Related People

Friedl, TJ: AUTHOR [+4]

Abstract

Described is a technique to assure integrity of a directory using journaling changes. The result is a media directory which is known to be correct or a directory known to be invalid but that can be reconstructed correctly. With very large capacity removable media, an increase in capacity causes an increased chance to encounter a media error. The increased capacity also means that an error in the media directory must not be allowed to make all access to the media impossible. The described technique addresses this problem while it adds minimal overhead to normal file operations and assures that a correct media directory can be obtained. The solution to ensure the media directory is the use of an optional "journal". This technique is applicable to any disk media where integrity of the directory is a concern.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 28% of the total text.

Assured Magneto-Optical Media Directory by Journaling

       Described is a technique to assure integrity of a
directory using journaling changes.  The result is a media directory
which is known to be correct or a directory known to be invalid but
that can be reconstructed correctly.  With very large capacity
removable media, an increase in capacity causes an increased chance
to encounter a media error.  The increased capacity also means that
an error in the media directory must not be allowed to make all
access to the media impossible.  The described technique addresses
this problem while it adds minimal overhead to normal file operations
and assures that a correct media directory can be obtained.  The
solution to ensure the media directory is the use of an optional
"journal".  This technique is applicable to any disk media where
integrity of the directory is a concern.

      A journal is a sequential file which contains records with
enough information to reconstruct some other unit of data.  Normal
use of a journal involves first adding a "journal entry" to the
journal.  These data put in the journal describe an operation which
is about to be executed. The operation is then actually performed on
the data.  If the operation does not succeed, the journal information
is sufficient to reconstruct or complete the operation later. Journal
entries are usually variable length records containing a function
code which describes the function being performed and a variable
length data field.  The length is either implicit from the function
or defined explicitly.

      This technique of journaling changes to the directory first
requires that the journal file is initially erased on the media.  The
initial size is not particularly important, but the file must be
cleared.  This requirement is to allow unambiguously locating the end
of the journal file.

      Journal entries are defined for all directory operations, such
as creating a file, deleting a file, extending a file, etc.  To be
able to reconstruct the directory, the entry must include the
complete name of a file when one is created.  When a new file is
created, it is assigned a "token" ID.  This ID is a 32-bit number.
The "generator" for the token ID is incremented by one each time a
new file is created.  This token is used to save space in the journal
entries.  Future entries in the journal need only include the token
to specify a file instead of the file name.

      Each time the directory is modified, an entry is added to the
journal.  Each entry includes an identifier which specifies the
"type" of entry being added and a variable amount of data required
for that type of entry.  See Fig. 1 for a diagram of the journal file
after some directory modifications were made.

      With these journal entries, the directory and the journal are
redundant.  The implication is that if the directory is partially or
even completely unusable, it can be reconst...