IP Library Granted Patent US 7,707,193
Granted Patent B2
US 7,707,193 · App. 11/233,441 · Granted Apr 27, 2010

System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem

Assignee: NetApp, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,707,193
App. No.
11/233,441
Granted
Apr 27, 2010
Kind
B2
Abstract

A system and method verifies and restores the consistency of inode to pathname mappings. In a first embodiment, an off-line verification procedure is modified to verify and correct the primary name inode to pathname mapping information within inodes of a file system. In a second embodiment, an on-line file system verification process is modified to verify inode to pathname mapping information upon the loading of each inode within the file system.

Claims (50)

1. A method for performing a verification check of a file system associated with a volume comprising:

selecting an inode within the file system, wherein the file system is stored on a storage system;

performing a consistency check on the inode including comparing an original pathname with a trace of pointers from an indirect block to a primary name data structure, and accepting the original pathname if the original pathname agrees with the trace of pointers and repairing the primary name data structure if an inconsistency exists with the original pathname or the trace of pointers;

performing a verification check on an alternate name data container, wherein the alternate name data container is located in a hidden metadata directory within the file system and the alternate name data container is utilized to store inode to pathname information mapping information associated with an alternate name of the inode and is implemented as a B+ tree to enable fast searches; and

in response to the verification check on the alternate name data container, deleting the alternate name data container and invoking an inode to pathname mapping scanner to reconstruct a new alternate name data container if an inconsistency exists with the alternate name data container.

2. The method of claim 1 further comprising:

associating the primary name data structure with the inode.

3. The method of claim 2 further comprising:

using a parent directory inode field and a parent directory cookie field.

4. The method of claim 1 further comprising:

deleting, in response to detecting one or more inconsistencies in the alternate name data container, the alternate name data container; and

populating the alternate name data container.

5. The method of claim 1 further comprising:

storing the alternate name data container as a file in the volume.

6. The method of claim 1 further comprising:

suspending, prior to selecting the inode within the file system, one or more client messages directed to the file system; and

unmounting the volume.

7. The method of claim 1 further comprising:

mounting the volume after performing a verification check on the alternate name data container; and

resuming client messages directed to the file system.

8. The method of claim 7 further comprising:

verifying modes and directories associated with the file system.

9. The method of claim 1 further comprising:

checking, selectively, the inode within the file system.

10. The method of claim 1 further comprising:

repairing inconsistencies so that each data structure contains appropriate information representative of the primary name for the data container.

11. The method of claim 1 further comprising:

deleting an inconsistent alternate name file; and

invoking an inode to pathname scanner to reconstruct the alternate name file.

12. A system for performing a verification check of a file system associated with a volume, comprising:

a storage operating system executing on a storage system, the storage operating system including the file system having a checking process, the checking process adapted to select an inode within the file system and further adapted to perform a consistency check on the inode including comparing an original pathname with a trace of pointers from an indirect block to a primary name data structure, and accepting the original pathname if the original pathname agrees with the trace of pointers and repairing the primary name data structure if an inconsistency exists with the original pathname or the trace of pointers; and

the checking process further adapted to perform a verification check on an alternate name data container, wherein the alternate name data container is located in a hidden metadata directory within the file system and the alternate name data container is utilized to store inode to pathname information mapping information associated with the alternate name of the inode and is implemented as a B+ tree to enable fast searches and in response to the verification check on the alternate name data container, to delete the alternate name data container and invoke an inode to pathname mapping scanner to reconstruct a new alternate name data container if an inconsistency exists with the alternate name data container.

13. A method for performing a verification check of a file system associated with a volume, comprising:

detecting a request for a file system structure, wherein the file system structure is stored on a storage system;

accessing the requested file system structure;

checking an inode to pathname information associated with the requested file system structure by comparing an original pathname with a trace of pointers from an indirect block to a primary name data structure, and accepting the original pathname if the original pathname agrees with the trace of pointers;

repairing, in response to the inode to pathname information associated with the requested file system structure not being consistent, the inode to pathname information associated with the requested file system structure;

returning the requested file system structure; and

performing a verification check on an alternate name data container, wherein the alternate name data container is located in a hidden metadata directory within the file system and the alternate name data container is utilized to store inode to pathname information mapping information associated with an alternate name of the inode and is implemented as a B+ tree to enable fast searches and in response to the verification check on the alternate name data container, deleting the alternate name data container and invoking an inode to pathname mapping scanner to reconstruct a new alternate name data container if an inconsistency exists with the alternate name data container.

14. The method of claim 13 further comprising:

using an inode in the file system structure.

15. The method of claim 14 further comprising:

associating the primary name data structure with the mode.

16. The method of claim 15 further comprising:

using a parent directory inode field and a parent directory cookie field.

17. A computer readable media containing executable program instructions executed a processor comprising

program instruction that select an inode within a file system;

program instruction that perform a consistency check on the inode including comparing an original pathname with a trace of pointers from an indirect block to a primary name data structure, and accepting the original pathname if the original pathname agrees with the trace of pointers; and

program instruction that perform a separate verification check on an alternate name data container, wherein the alternate name data container is located in a hidden metadata directory within the file system and the alternate name data container is utilized to store inode to pathname information mapping information associated with an alternate name of the inode and is implemented as a B+ tree to enable fast searches; and

in response to the verification check on the alternate name data container, program instructions that delete the alternate name data container and invoking an inode to pathname mapping scanner to reconstruct a new alternate name data container if an inconsistency exists with the alternate name data container.

Assignments (2)
CHANGE OF NAME Recorded Dec 27, 2010
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025537/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2005
From: ZAYAS, EDWARD R.; HAYNES, THOMAS; GILLONO, JOHN FRANCIS; KAHN, ANDY C.
To: NETWORK APPLIANCE, INC.
Reel/Frame 017030/0712 →
Continuity (1)
Related Publication 20070067256A1 · Mar 22, 2007