Delegation of metadata management in a storage system by leasing of free file system blocks from a file system owner
First Claim
Patent Images
1. A storage system comprising:
- data storage containing a file system;
a primary data processor linked to the data storage for access to metadata of the file system for locking files of the file system and allocating free blocks in the file system; and
a secondary data processor linked to the data storage for access to data and metadata of the file system over a data path that bypasses the primary data processor, and linked to the primary data processor for requesting and obtaining locks on the files in the file system and requesting and obtaining allocations of free blocks in the file system;
wherein the secondary data processor is programmed for writing data to a specified file in the file system by obtaining an allocation of at least one free block from the primary data processor, thereafter writing data to said at least one free block, thereafter obtaining a lock on the specified file from the primary data processor, and appending said at least one free block to the specified file by writing new metadata for the specified file to the file system in the data storage over the data path that bypasses the primary data processor,wherein the secondary data processor is programmed to send a request to the primary data processor for a lock on the specified file, and thereafter write data for the specified file to said at least one free block while the primary data processor is responding to the request for the lock on the specified file, andwherein the secondary data processor is programmed to receive from the primary data processor an inode number of an inode of the specified file with an indication of a grant of the lock on the specified file, and to use the inode number of the specified file to link said at least one free block to the specified file.
9 Assignments
0 Petitions
Accused Products
Abstract
Metadata management in a file server or storage network is delegated from a primary data processor to a secondary data processor in order to reduce data traffic between the primary data processor and the secondary data processor. The primary data processor retains responsibility for managing locks upon objects in the file system that it owns, and also retains responsibility for allocation of free blocks and inodes of the file system. By leasing free blocks and inodes to the secondary and granting locks to the secondary, the secondary can perform the other metadata management tasks such as appending blocks to a file, truncating a file, creating a file, and deleting a file.
40 Citations
6 Claims
-
1. A storage system comprising:
-
data storage containing a file system; a primary data processor linked to the data storage for access to metadata of the file system for locking files of the file system and allocating free blocks in the file system; and a secondary data processor linked to the data storage for access to data and metadata of the file system over a data path that bypasses the primary data processor, and linked to the primary data processor for requesting and obtaining locks on the files in the file system and requesting and obtaining allocations of free blocks in the file system; wherein the secondary data processor is programmed for writing data to a specified file in the file system by obtaining an allocation of at least one free block from the primary data processor, thereafter writing data to said at least one free block, thereafter obtaining a lock on the specified file from the primary data processor, and appending said at least one free block to the specified file by writing new metadata for the specified file to the file system in the data storage over the data path that bypasses the primary data processor, wherein the secondary data processor is programmed to send a request to the primary data processor for a lock on the specified file, and thereafter write data for the specified file to said at least one free block while the primary data processor is responding to the request for the lock on the specified file, and wherein the secondary data processor is programmed to receive from the primary data processor an inode number of an inode of the specified file with an indication of a grant of the lock on the specified file, and to use the inode number of the specified file to link said at least one free block to the specified file. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification