File System with Data Block Sharing
First Claim
1. A computer with a file system for managing storage of and access to a plurality of file system objects on one or more storage devices, comprising:
- a storage medium storing data indicating whether stored data on the one or more storage devices are shared by file system objects;
a memory and a processor, with computer program code stored in the memory that, when executed by the processor, configures the processor to respond to requests from applications to access file system objects on the one or more storage devices, wherein writing data to an extent of a file for which stored data is shared writes data to a new extent in the one or more storage devices.
4 Assignments
0 Petitions
Accused Products
Abstract
To provide an operation that can quickly copy or rearrange a file, a file system allows stored data to be shared among two or more files or within a file. The file system provides an operation that allows an extent from one file to be copied into an extent of another file, or into a different extent in the same file if the extents do not overlap. To support such an operation, the file system tracks the storage locations for stored data for extents of a file, and whether the stored data for an extent of a file is shared with any other file or by another portion of the same file. When stored data is shared, writing to an extent of a file that refers to the shared stored data invokes a write operation to a new extent on the storage device, and the tracked information for the affected extents is updated.
13 Citations
20 Claims
-
1. A computer with a file system for managing storage of and access to a plurality of file system objects on one or more storage devices, comprising:
-
a storage medium storing data indicating whether stored data on the one or more storage devices are shared by file system objects; a memory and a processor, with computer program code stored in the memory that, when executed by the processor, configures the processor to respond to requests from applications to access file system objects on the one or more storage devices, wherein writing data to an extent of a file for which stored data is shared writes data to a new extent in the one or more storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented process, comprising:
-
maintaining information tracking sharing of stored data by data files; receiving a request to write data to a file; determining whether the file shares stored data with other data files; if the file shares stored data, then writing data for the file to a new extent in a storage device and updating the maintained information about sharing of the stored data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented process performed by a file system of a computer, comprising:
-
the file system receiving an indication of a source file from which data is to be copied, the data being stored in storage locations on a storage device; the file system creating a destination file referencing the storage locations on the storage device for the data to be copied; the file system storing data indicating that the data in the storage locations on the storage device are shared by source and destination files. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification