IP Library Granted Patent US 7,587,563
Granted Patent B1
US 7,587,563 · App. 11/485,260 · Granted Sep 8, 2009

Method and system to make a read-only file system appear to be writeable

Assignee: Network Appliance, 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,587,563
App. No.
11/485,260
Granted
Sep 8, 2009
Kind
B1
Abstract

A writeable clone of a read-only dataset, e.g., an RPPI of a file system, a mirror file system, etc., is created to make the read-only dataset appear from a client's perspective to be modifiable/writeable, yet without actually modifying the read-only dataset itself. Any change attempted to be made on the read-only dataset is stored in the writeable clone. In one embodiment, the clone shares data blocks with the read-only dataset.

Claims (33)

1. A method comprising:

maintaining a mirroring relationship between an active file system and a mirror of the active file system by preventing the mirror from being modified independently of the active file system; and

creating a writeable clone of the mirror such that the mirror appears from a client's perspective to be modifiable independently of the active file system by using the writeable clone, but without breaking the mirroring relationship between the active file system and the mirror, wherein the writeable clone is stored on a file system different than the active file system.

2. The method of claim 1 , wherein the mirror is stored as a plurality of data blocks, the writeable clone of the mirror including one or more pointers that reference at least some of the plurality of data blocks.

3. The method of claim 2 , wherein the active file system comprises a first file system, the mirror comprises a second file system and the writeable clone is stored in a third file system.

4. The method of claim 3 , wherein the active file system, the mirror and the third file system each comprises a separate volume.

5. The method of claim 1 , wherein the client is a computer program.

6. The method of claim 1 , wherein the client is a user.

7. A machine-readable storage medium having sequences of instructions stored therein which, when executed by a processor of a computer, cause the processor to perform a process comprising:

maintaining a mirroring relationship between an active file system and a mirror of the active file system by preventing the mirror from being modified independently of the active file system, wherein the mirror is stored as a plurality of data blocks; and

creating a writeable clone of the mirror such that the mirror appears from a client's perspective to be modifiable independently of the active file system by using the writeable clone, but without breaking the mirroring relationship between the active file system and the mirror, wherein the writeable clone of the mirror is stored on a file system different than the active file system and includes one or more pointers that reference at least some of the plurality of data blocks.

8. The machine-readable storage medium of claim 7 , wherein the active file system comprises a first file system, the mirror comprises a second file system and the writeable clone is stored in a third file system.

9. The machine-readable storage medium of claim 8 , wherein the active file system, the mirror and the third file system each comprises a separate volume.

10. The machine-readable storage medium of claim 7 , wherein the client is a computer program.

11. The machine-readable storage medium of claim 7 , wherein the client is a user.

12. A storage server comprising:

a processor;

a network interface through which to communicate with a client;

a storage interface through which to access a plurality of mass storage devices on behalf of the client; and

a memory coupled to the processor, the memory storing instructions which, when executed by the processor, cause the storage server to perform a process comprising:

maintaining a mirror of an active file system, the mirror stored as a plurality of data blocks;

maintaining a mirroring relationship between the active file system and the mirror by preventing the mirror from being modified independently of the active file system; and

creating a writeable clone of the mirror such that the mirror appears from the client's perspective to be modifiable independently of the active file system by using the writeable clone, but without breaking the mirroring relationship between the active file system and the mirror, wherein the writeable clone of the mirror is stored on a file system different than the active file system and includes one or more pointers that reference at least some of the plurality of data blocks.

13. The storage server of claim 12 , wherein the active file system comprises a first file system, the mirror comprises a second file system and the writeable clone is stored in a third file system.

14. The storage server of claim 13 , wherein the active file system, the mirror and the third file system each comprises a separate volume.

15. A method comprising:

maintaining a mirror of an active file system, wherein the mirror is only modified to keep data consistency between the mirror and the active file system; and

creating a writable clone of the mirror such that the mirror appears from a client's perspective to be modifiable for purposes other than keeping data consistency between the mirror and the active file system, wherein the writeable clone is stored on a file system different than the active file system.

16. The method of claim 15 , wherein the mirror is stored as a plurality of data blocks, the writeable clone of the mirror including one or more pointers that reference at least some of the plurality of data blocks.

17. The method of claim 16 , wherein the active file system comprises a first file system, the mirror comprises a second file system and the writeable clone is stored in a third file system.

18. The method of claim 17 , wherein the active file system, the mirror and the third file system each comprises a separate volume.

19. The method of claim 18 , wherein the client is a computer program.

20. The method of claim 18 , wherein the client is a user.

Assignments (2)
CHANGE OF NAME Recorded Jan 27, 2025
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 070128/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2006
From: TETERIN, BORIS; PATEL, MANISH DHIRAJLAL
To: NETWORK APPLIANCE, INC.
Reel/Frame 018106/0237 →