IP Library Granted Patent US 7,797,357
Granted Patent B1
US 7,797,357 · App. 11/714,298 · Granted Sep 14, 2010

File system and methods for performing file create and open operations with efficient storage allocation

Assignee: Symantec Operating Corporation
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 7,797,357
App. No.
11/714,298
Granted
Sep 14, 2010
Kind
B1
Abstract

A client computer system of a cluster may send a request to create a file in a cluster file system. A server may create a file in response to the information and allocate space in a storage to the file. If a request to write to the file is received within a predetermined amount of time, the write may complete without requiring that additional operations be performed to allocate space to the file. If a write to the file is not received within the predetermined amount of time, the space allocated to the file when it was created may be de-allocated. The file system may additionally or alternatively perform a method for opening a file while delaying an associated truncation of space allocated to the file. If a request to write to the file is received within a predetermined amount of time, the write may be performed in the space already allocated to the file.

Claims (50)

1. A computer system for delaying a truncation of storage space pre-allocated to a file system object in a cluster file system, the system comprising:

a CPU; and

a memory coupled to the CPU, wherein the memory stores program instructions which are executable by the CPU to:

receive a command to truncate the storage space pre-allocated to the file system object, wherein the space has been allocated to the file system object prior to said receiving, wherein the command to truncate the space allocated to the file system object includes information instructing the cluster file system to de-allocate the space in a de-allocation operation, wherein the cluster file system is configured to conditionally perform:

in the event a request to store data in the file system object is received prior to a predetermined amount of time transpiring, storing said data in the space allocated to the file system object and aborting the de-allocation operation; or

in the event said request is not received prior to a predetermined amount of time transpiring, de-allocating said space by performing the de-allocation operation.

2. The system of claim 1 , further including program instructions which are executable by the CPU to:

predetermine the amount of time.

3. The system of claim 1 , wherein the file system object is a file.

4. The system of claim 1 , wherein the file system object is a directory.

5. The system of claim 1 , wherein the file system object is a named pipe.

6. A memory medium comprising program instructions for delaying a truncation of storage space pre-allocated to a file system object in a cluster file system, wherein the program instructions are computer-executable to:

receive a command to truncate the storage space pre-allocated to the file system object, wherein the space has been allocated to the file system object prior to said receiving, wherein the command to truncate the space allocated to the file system object includes information instructing the cluster file system to de-allocate the space in a de-allocation operation, wherein the cluster file system is configured to conditionally perform:

in the event a request to store data in the file system object is received prior to a predetermined amount of time transpiring, storing said data in the space allocated to the file system object and aborting the de-allocation operation; or

in the event said request is not received prior to a predetermined amount of time transpiring, de-allocating said space by performing the de-allocation operation.

7. The memory medium of claim 6 , further including program instructions which are executable by the CPU to:

predetermine the amount of time.

8. The memory medium of claim 6 , wherein the file system object is a file.

9. The memory medium of claim 6 , wherein the file system object is a directory.

10. The memory medium of claim 6 , wherein the file system object is a named pipe.

11. A computer system for delaying a truncation of storage space pre-allocated to a file system object, comprising:

a computer; and

a cluster file system including program instructions executable to:

receive a command to truncate the storage space pre-allocated to the file system object, wherein the space has been allocated to the file system object prior to said receiving, wherein the command to truncate the space allocated to the file system object includes information instructing the cluster file system to de-allocate the space in a de-allocation operation, wherein the cluster file system is configured to conditionally perform:

in the event a request to store data in the file system object is received prior to a predetermined amount of time transpiring, storing said data in the space allocated to the file system object and aborting the de-allocation operation; or

in the event said request is not received prior to a predetermined amount of time transpiring, de-allocating said space by performing the de-allocation operation.

12. The system of claim 11 , further including program instructions executable to:

predetermine the amount of time.

13. The system of claim 11 , wherein the file system object is a file.

14. The system of claim 11 , wherein the file system object is a directory.

15. The system of claim 11 , wherein the file system object is a named pipe.

16. A method for delaying a truncation of storage space pre-allocated to a file system object in a cluster file system, comprising:

receiving a request message from a client, wherein the request message includes information to create the file system object;

creating the file system object in the cluster file system in response to the information; and

depending on the information for the file system object:

allocating space in a storage to the file system object in response to the information, wherein said creating the file system object and said allocating space are performed as an atomic transaction;

sending a response message to the client, wherein the response message includes information indicative of the space in the storage; and

de-allocating the space in response to an amount of time transpiring after said allocating without receiving a write command to write to the file system object.

17. The method of claim 16 , further comprising setting a predetermined amount of space to be allocated in response to the information.

18. The method of claim 16 , wherein the file system object is a file.

19. The method of claim 16 , wherein the file system object is a directory.

20. The method of claim 16 , wherein the file system object is a named pipe.

21. A method for delaying a truncation of storage space pre-allocated to a file system object in a cluster file system, comprising:

the cluster file system receiving a command to access the file system object, wherein the storage space has been pre-allocated to the file system object prior to said receiving, wherein the command to open the file system object includes information instructing the cluster file system to de-allocate the space in a de-allocation operation, wherein the cluster file system is configured, depending on the information for the file system object, to conditionally perform:

in the event a request to store data in the file system object is received, storing said data in the space allocated to the file system object and aborting the de-allocation operation; or

in the event said request is not received prior to a predetermined amount of time transpiring, de-allocating said space by performing the de-allocation operation.

22. The method of claim 21 , further comprising setting the predetermined amount of time.

23. The method of claim 21 , wherein the file system object is a file.

24. The method of claim 21 , wherein the file system object is a directory.

25. The method of claim 21 , wherein the file system object is a named pipe.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Feb 18, 2010
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 023959/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2010
From: NAGARAJ, MURALI; SINGHVI, RAVIDEEP; WANKHADE, SHRIRAM; SHAH, AALOP S; BORATE, MILIND; DESAI, SAMIR
To: VERITAS OPERATING CORPORATION
Reel/Frame 023955/0886 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
Continuity (1)
Continuation 1073508800 · Dec 12, 2003