Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace
First Claim
Patent Images
1. A method of creating a namespace, the method comprising:
- determining whether a namespace already exists before creating a number of metadata area legends;
when a namespace is determined to already exist;
deleting existing metadata area legends and existing namespace, anddetermining whether namespace verification has been enabled;
reserving a number of areas as a number of reserved metadata areas on a persistent data storage device (PDSD) when a namespace is determined not to already exist;
creating a number of metadata area legends at a location that is logically separate from the reserved metadata areas on the PDSD based on the number of areas reserved for metadata, the number of metadata area legends having a number of existing descriptors that describe the number of reserved metadata areas;
preparing a number of legends as a number of prepared area legends when namespace verification has been enabled, each prepared area legend including a number of prepared descriptors; and
signaling an error when the prepared descriptors in the prepared area legend differ from the existing descriptors in the metadata area legend based on a comparison between the prepared descriptors and the existing descriptors.
9 Assignments
0 Petitions
Accused Products
Abstract
Metadata area legends are stored at a first location, such as a dedicated partition of a persistent data storage device (PDSD). The metadata area legends have a number of descriptors that describe a number of reserved metadata areas that lie at a second location that is logically separate from the first location, such as a regular partition of the PDSD. Requests to delete the metadata area legends, as well as requests to add new metadata area legends, can be verified to prevent the metadata area legends from being accidentally or maliciously changed.
-
Citations
19 Claims
-
1. A method of creating a namespace, the method comprising:
-
determining whether a namespace already exists before creating a number of metadata area legends; when a namespace is determined to already exist; deleting existing metadata area legends and existing namespace, and determining whether namespace verification has been enabled; reserving a number of areas as a number of reserved metadata areas on a persistent data storage device (PDSD) when a namespace is determined not to already exist; creating a number of metadata area legends at a location that is logically separate from the reserved metadata areas on the PDSD based on the number of areas reserved for metadata, the number of metadata area legends having a number of existing descriptors that describe the number of reserved metadata areas; preparing a number of legends as a number of prepared area legends when namespace verification has been enabled, each prepared area legend including a number of prepared descriptors; and signaling an error when the prepared descriptors in the prepared area legend differ from the existing descriptors in the metadata area legend based on a comparison between the prepared descriptors and the existing descriptors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium containing computer executable instructions which when executed by a computer perform a method of adding a metadata area legend to a namespace, the method comprising:
-
creating a new metadata area legend that represents a new reserved metadata area, the new metadata area legend including a magic signature of a metadata structure in the new reserved metadata area, a node size in the new reserved metadata area, and an extent of the new reserved metadata area; determining if the magic signature in the new metadata area legend matches an existing magic signature in an existing metadata area legend; when the magic signature in the new metadata area legend matches an existing magic signature, determining if the node size in the new metadata area legend matches an existing node size in the existing metadata area legend; when the node size in the new metadata area legend matches the existing node size, determining if a size of the extent in the new metadata area legend matches a minimum, default, or maximum clump size in the existing metadata area legend; and when the size of the extent matches the minimum, default, or maximum clump size, adding the new metadata area legend to the namespace. - View Dependent Claims (11, 12, 13)
-
-
14. A computer system, comprising:
-
a first persistent data storage device (PDSD) that stores a number of byte streams at a first location, the number of byte streams representing a number of metadata area legends that have a number of first descriptors, the number of first descriptors describing a number of reserved metadata areas at a second location that is logically separate from the first location where the number of byte streams are stored, the number of metadata area legends created based on the number of reserved metadata areas reserved; a processor coupled to the first PDSD, the processor configured to; determine whether a namespace already exists; determine whether namespace verification has been enabled when an existing namespace is determined to already exist, the existing namespace having the number of first descriptors; prepare a number of legends as a number of prepared area legends that includes a number of second descriptors that correspond with the number of first descriptors when namespace verification has been enabled; determine whether the second descriptors from the prepared area legends differ from the first descriptors; and signal an error when the second descriptors differ from the first descriptors. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification