Method and apparatus for supporting resizing of file system partitions
First Claim
1. A method for supporting resizing of file system partitions within a storage system, the storage system being divided into a plurality of partitions, each partition including a different file system, the method comprising:
- receiving a request to allocate storage within a partition from the plurality of partitions;
adding a request size for the request to a current partition size to produce a predicted size for the partition;
comparing the predicted size for the partition with a size limit for the partition;
if the predicted size exceeds the size limit, signaling an error condition; and
if the predicted size does not exceed the size limit, allocating the requested storage for the partition in the storage system, and making the current partition size equal to the predicted partition size.
14 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that supports resizing of file system partitions. The system includes one or more storage devices that are divided into a plurality of partitions, wherein each partition includes a different file system. The system operates by receiving a request to allocate storage within a partition. In response to the request, the system adds a request size to a current partition size to produce a predicted size for the partition. Next, the system compares the predicted size for the partition with a size limit for the partition. If the predicted size exceeds the size limit, the system signals an error condition. If the predicted size does not exceed the size limit, the system allocates the requested storage for the partition in the nonvolatile random access memory. The system also makes the current partition size equal to the predicted partition size. In a variation on the above embodiment, the system receives a request to deallocate storage from the partition. In response to the request, the system deallocates the storage, and decreases the current partition size to reflect the deallocated storage.
-
Citations
26 Claims
-
1. A method for supporting resizing of file system partitions within a storage system, the storage system being divided into a plurality of partitions, each partition including a different file system, the method comprising:
-
receiving a request to allocate storage within a partition from the plurality of partitions;
adding a request size for the request to a current partition size to produce a predicted size for the partition;
comparing the predicted size for the partition with a size limit for the partition;
if the predicted size exceeds the size limit, signaling an error condition; and
if the predicted size does not exceed the size limit, allocating the requested storage for the partition in the storage system, and making the current partition size equal to the predicted partition size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
deallocating the storage; and
decreasing the current partition size to reflect the deallocated storage.
-
-
3. The method of claim 2, wherein the request to deallocate storage is receiving as part of a request to delete a file.
-
4. The method of claim 1, wherein the request for storage is part of a write request to a file.
-
5. The method of claim 1, wherein the request for storage is part of a file creating request.
-
6. The method of claim 1, wherein allocating the requested storage includes allocating the requested storage in a nonvolatile semiconductor memory storage device.
-
7. The method of claim 1, wherein allocating the requested storage includes allocating the requested storage in a flash memory.
-
8. The method of claim 1, wherein the plurality of partitions contain a plurality of file systems with a plurality of differing file system architectures.
-
9. The method of claim 1, wherein the partition includes a file system containing tables of a computer system configuration information.
-
10. The method of claim 1, wherein the partition includes a file system containing computer system boot information.
-
11. The method of claim 1, wherein the partition includes a file system containing a computer system log.
-
12. The method of claim 1, wherein allocating the requested storage for the partition includes allocating the requested storage from a global pool of storage, the global pool of storage containing storage that can be allocated to any partition in the plurality of partitions.
-
13. An apparatus for supporting the resizing of file system partitions, comprising:
-
a storage system that is divided into a plurality of partitions, each partition including a different file system;
an allocation mechanism that receives a request to allocate storage within a partition from the plurality of partitions;
a comparison mechanism that is configured to add a request size for the request to a current partition size to produce a predicted size for the partition, and to compare the predicted size for the partition with a size limit for the partition;
wherein if the predicted size does not exceed the size limit, the allocation mechanism is configured to, allocate the requested storage for the partition, and to make the current partition size equal to the predicted partition size; and
an error signaling mechanism that signals an error condition if the predicted size exceeds the size limit. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
deallocating the storage; and
decrease the current partition size to reflect the deallocated storage.
-
-
15. The apparatus of claim 14, wherein the request to deallocate storage is part of a request to delete a file.
-
16. The apparatus of claim 13, wherein the request for storage is part of a write request to a file.
-
17. The apparatus of claim 13, wherein the request for storage is part of a file creation request.
-
18. The apparatus of claim 13, wherein the storage system includes flash memory.
-
19. The apparatus of claim 13, wherein the storage system includes nonvolatile random access memory.
-
20. The apparatus of claim 13, wherein the plurality of partitions contain a plurality of file systems with a plurality of differing file system architectures.
-
21. The apparatus of claim 13, wherein the partition includes a file system containing tables of computer system configuration information.
-
22. The apparatus of claim 13, wherein the partition includes a file system containing computer system boot information.
-
23. The apparatus of claim 13, wherein the partition includes a file system containing a computer system log.
-
24. The apparatus of claim 13, further comprising a global pool of storage, the global pool of storage containing storage that can be allocated by the allocation mechanism to any partition in the plurality of partitions.
-
25. A computer readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for supporting resizing of file system partitions within a storage system, the storage system being divided into a plurality of partitions, each partition including a different file system, the method comprising:
-
receiving a request to allocate storage within a partition from the plurality of partitions;
adding a request size for the request to a current partition size to produce a predicted size for the partition;
comparing the predicted size for the partition with a size limit for the partition;
if the predicted size exceeds the size limit, signaling an error condition; and
if the predicted size does not exceed the size limit, allocating the requested storage for the partition in the storage system, and making the current partition size equal to the predicted partition size. - View Dependent Claims (26)
deallocating the storage; and
decreasing the current partition size to reflect the deallocated storage.
-
Specification