US20030191745A1

Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner

Claim Score by NHIP

Read claim 1, the broadest

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.

US20030191745A1, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 7 February 2024, 2.6 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

42 claims: 5 independent, 37 dependent

  1. 1
    Broadest claimClaim Score 67, broad(NHIP)A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:the primary data processor managing locks upon files in the file system, and managing allocation of free blocks of the file system;and the secondary data processor appending new data to a file in the file system by obtaining an allocation of at least one free block from the primary data processor, writing the new data to the free block, obtaining a lock on the file from the primary data processor, and linking the free block to the file.
  2. 15
    A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:the primary data processor managing locks upon objects in the file system, and managing allocation of free blocks and free inodes of the file system;and the secondary data processor creating a new file of the file system by: the secondary data processor obtaining an allocation of a free inode and at least one free block from the primary data processor, the secondary data processor writing file attributes to the free inode and linking said at least one free block to the free inode, the secondary data processor obtaining, from the primary data processor, a lock on a directory of the file system to contain an entry for the new file, and the secondary data processor inserting the entry for the new file into the directory.
  3. 19
    A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:the primary data processor managing locks upon objects in the file system, and managing allocation of free blocks and free inodes of the file system;and the secondary data processor accessing objects of the file system by obtaining an allocation of free blocks and free inodes of the file system from the primary data processor, obtaining locks on the objects of the file system from the primary data processor, using the free blocks and free inodes to create new structure in the file system, and writing new metadata of the file system objects to storage over a data path that bypasses the primary data processor.
  4. 26
    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, writing data to said at least one free block, 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.
  5. 39
    A file server comprising:a cached disk array containing a plurality of file systems;and a plurality of data mover computers each linked to the cached disk array over a respective data path that bypasses the other data mover computers for accessing data and metadata of the file systems, each of the data mover computers also having a port for connection to a data network for receiving file system access requests from clients in the data network, locks upon files in each file system being exclusively managed by a respective one of the data movers that is primary with respect to said each file system, the data mover that is primary with respect to said each file system also allocating free blocks of said each file system;wherein each data mover computer that is secondary with respect to said each file system is programmed to obtain an allocation of free blocks of said each file system from the data mover computer that is primary with respect to said each file system, and said each data mover computer that is secondary with respect to said each file system is programmed to respond to a client request for writing data to a specified file in said each file system by said each data mover computer that is secondary with respect to said each file system appending the data to the specified file in said each file system by requesting the data mover computer that is primary with respect to said each file system to grant a lock upon the specified file to said each data mover computer that is secondary with respect to said each file system, writing the data to at least one of the free blocks of said each file system allocated to said each data mover computer that is secondary with respect to said each file system, and once the data mover computer that is primary with respect to said each file system grants the requested lock upon the specified file, said each data mover computer that is secondary with respect to said each file system appending said at least one of the free blocks of said each file system to the specified file by writing new metadata for the specified file to said each file system in the cached disk array over the respective data path that bypasses the data mover computer that is primary with respect to said each file system.