IP Library Granted Patent US 9,275,058
Granted Patent B2
US 9,275,058 · App. 13/220,257 · Granted Mar 1, 2016

Relocation of metadata server with outstanding DMAPI requests

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 9,275,058
App. No.
13/220,257
Granted
Mar 1, 2016
Kind
B2
Abstract

A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem and operating system implementing DMAPI. Threads executing on a metadata client know when a DMAPI event is required, and generate the DMAPI event on their own initiative when necessary. A metadata server maintains DMAPI queues. If the metadata server relocates to another host, the DMAPI events in the DMAPI queues are moved transparently to users.

Claims (49)

1. A method of executing one or more operations on virtual metadata, comprising:

initiating input/output operations;

locking virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information;

after locking the virtual metadata, performing at least one sub-operation of the input/output operations in accordance with the locked virtual metadata;

before completing the input/output operations in accordance with the locked virtual metadata, identifying that the virtual metadata is to be relocated to a new server;

releasing the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors;

forming the virtual metadata as a private data chain;

locking a pointer to the private data chain;

migrating the virtual metadata to the new server; and

releasing the lock on the pointer to the private data chain.

2. The method of claim 1 , further comprising halting performance of the input/output operations in accordance with the locked virtual metadata.

3. The method of claim 2 , further comprising locking the virtual metadata upon completing the migration of the virtual metadata to the new server.

4. The method of claim 3 , further comprising resuming performance of the input/output operations on the locked virtual metadata on the new server.

5. The method of claim 4 , further comprising unlocking the virtual metadata upon completion of the input/output operations in accordance with the virtual metadata.

6. The method of claim 4 , wherein at least one of the input/output operations is not performed as a result of the migration of the virtual metadata.

7. A non-transitory computer readable storage medium including code for executing one or more operations on virtual metadata, the code operable to cause one or more processors to:

initiate input/output operations;

lock virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information;

after locking the virtual metadata, perform at least one sub-operation of the input/output operations in accordance with the locked virtual metadata;

before completing the input/output operations in accordance with the locked virtual metadata, identify that the virtual metadata is to be relocated to a new server;

release the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors;

form the virtual metadata as a private data chain;

lock a pointer to the private data chain;

migrate the virtual metadata to the new server; and

release the lock on the pointer to the private data chain.

8. The non-transitory computer readable storage medium of claim 7 , the code further operable to halt performance of the input/output operations in accordance with the locked virtual metadata.

9. The non-transitory computer readable storage medium of claim 8 , the code further operable to lock the virtual metadata upon completing the migration of the virtual metadata to the new server.

10. The non-transitory computer readable storage medium of claim 9 , the code further operable to resume performance of the input/output operations in accordance with the locked virtual metadata on the new server.

11. The non-transitory computer readable storage medium of claim 10 , the code further operable to unlock the virtual metadata upon completion of the input/output operations in accordance with the virtual metadata.

12. The non-transitory computer readable storage medium of claim 10 , wherein at least one of the input/output operations is not performed as a result of the migration of the virtual metadata.

13. A system for executing one or more operations on virtual metadata, comprising:

a plurality of storage devices coupled to a storage area network, the plurality of storage devices collectively storing at least one file;

at least one metadata client node; and

at least one metadata server node coupled to said storage area network,

wherein the metadata server node:

initiates input/output operations,

locks virtual metadata associated with the input/output operations,

wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information;

after locking the virtual metadata, performs at least one sub-operation of the input/output operations in accordance with the locked virtual metadata,

before completing the input/output operations in accordance with the locked virtual metadata, identifies that the virtual metadata is to be relocated to a new server,

releases the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors;

forms the virtual metadata as a private data chain;

locks a pointer to the private data chain;

migrates the virtual metadata to the new server; and

releases the lock on the pointer to the private data chain.

14. The system of claim 13 , the metadata data server is further operable to halt performance of the input/output operations in accordance with the locked virtual metadata.

15. The system of claim 14 , the metadata server further is operable to lock the virtual metadata upon completing the migration of the virtual metadata to the new server.

16. The system of claim 15 , the metadata server is further operable to resume performance of the input/output operations on the locked virtual metadata on the new server, wherein certain input/output operations are not performed as a result of the migration of the virtual metadata.

17. The system of claim 16 , the metadata server is further operable to unlock the virtual metadata upon completion of the input/output operations in accordance with the virtual metadata.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded May 10, 2016
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038532/0574 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2015
From: WEHRMAN, GEOFFREY; ROEHRICH, DEAN
To: SILICON GRAPHICS, INC.
Reel/Frame 034824/0841 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 034804/0446 →
CHANGE OF NAME Recorded Jan 22, 2015
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 034804/0661 →
MERGER Recorded Jan 22, 2015
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 034804/0437 →