Write anywhere file-system layout
First Claim
1. A method for recording a plurality of data about a plurality of blocks of data stored in storage means comprising the steps of:
- maintaining a means for recording multiple usage bits per block of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicated membership in one or more read-only copies of a file system; and
storing, in said means for recording multiple usage bits per block, multiple bits for each of said plurality of said blocks of said storage means.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method for keeping a file system in a consistent state and for creating read-only copies of a file system. Changes to the file system are tightly controlled. The file system progresses from one self-consistent state to another self-consistent state. The set of self-consistent blocks on disk that is rooted by the root inode is referred to as a consistency point. To implement consistency points, new data is written to unallocated blocks on disk. A new consistency point occurs when the fsinfo block is updated by writing a new root inode for the inode file into it. Thus, as long as the root inode is not updated, the state of the file system represented on disk does not change. The present invention also creates snapshots that are read-only copies of the file system. A snapshot uses no disk space when it is initially created. It is designed so that many different snapshots can be created for the same file system. Unlike prior art file systems that create a clone by duplicating the entire inode file and all of the indirect blocks, the present invention duplicates only the inode that describes the inode file. A multi-bit free-block map file is used to prevent data from being overwritten on disk.
-
Citations
8 Claims
-
1. A method for recording a plurality of data about a plurality of blocks of data stored in storage means comprising the steps of:
-
maintaining a means for recording multiple usage bits per block of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicated membership in one or more read-only copies of a file system; and
storing, in said means for recording multiple usage bits per block, multiple bits for each of said plurality of said blocks of said storage means.
-
-
2. A method for recording a plurality of data about a plurality of blocks of data stored in storage means comprising the steps of:
-
maintaining a means for recording multiple usage bits per block of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicated membership in one or more read-only copies of a file system; and
storing, in said means for recording multiple usage bits per block, multiple bits for each of said plurality of said blocks of said storage means, at least one of said multiple bits being indicative of block reusability.
-
-
3. An apparatus having at least one processor and at least one memory coupled to said at least one processor for recording a plurality of data about a plurality of blocks of data stored in storage means, said apparatus includes:
a recording mechanism configured to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, at least one of said multiple bits being indicative of block reusability.
-
4. An apparatus having at least one processor and at least one memory coupled to said at least one processor for recording a plurality of data about a plurality of blocks of data stored in storage means, said apparatus includes:
a recording mechanism configured to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicates membership in one or more read-only copies of a file system.
-
5. A computer program product including:
-
a computer usable storage medium having computer readable code embodied therein for causing a computer to record a plurality of data about a plurality of blocks of data stored in storage means, said computer readable code includes;
computer readable program code configured to cause said computer to effect a recording mechanism to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, at least one of said multiple bits being indicative of block reusability.
-
-
6. An. A computer program product including:
-
a computer usable storage medium having computer readable code embodied therein for causing a computer to record a plurality of data about a plurality of blocks of data stored in storage means, said computer readable code includes;
computer readable program code configured to cause said computer to effect a recording mechanism to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicates membership in one or more read-only copies of a file system.
-
-
7. A computer program product including:
-
a computer data signal embodied in a carrier wave having computer readable code embodied therein for causing a computer to record a plurality of data about a plurality of blocks of data stored in storage means, said computer readable code includes;
computer readable program code configured to cause said computer to effect a recording mechanism to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, at least one of said multiple bits being indicative of block reusability.
-
-
8. A computer program product including:
-
a computer data signal embodied in a carrier wave having computer readable code embodied therein for causing a computer to record a plurality of data about a plurality of blocks of data stored in storage means, said computer readable code includes;
computer readable program code configured to cause said computer to effect a recording mechanism to record multiple usage bits per block of said storage means, responsive to said plurality of data about said plurality of said blocks of said storage means, wherein one bit of said multiple bits per block for each of said blocks indicates a block'"'"'s membership in an active file system and one or more bits indicates membership in one or more read-only copies of a file system.
-
Specification