IP Library Granted Patent US 9,940,332
Granted Patent B1
US 9,940,332 · App. 14/317,931 · Granted Apr 10, 2018

Storage pool-backed file system expansion

Inventors: Yingchao Zhou (Beijing, CN); William Davenport (Burlington, MA); Haijia Shen (Beijing, CN); Henry Fang (Beijing, CN); Jean-Pierre Bono (Westboro, MA); Philippe Armangau (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F17/30091
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,940,332
App. No.
14/317,931
Granted
Apr 10, 2018
Kind
B1
Abstract

Described are methods, systems, and apparatus, including computer program products for expanding a storage pool-backed file system. A file system expansion trigger is detected. First reserved space in the storage pool is reserved. A LUN size attribute associated with a LUN underlying the file system is increased. A file system size attribute associated with the file system is increased. First data to write to the file system is received. In response to receiving the first data, an expansion result is determined, wherein the expansion result indicates whether to expand the LUN and the file system. If the expansion result indicates to expand the LUN and the file system, a first portion of the first reserved space is provisioned and formatted. The first data is written to the file system.

Claims (56)

1. A method, performed by a storage system, of expanding a file system backed by a storage pool in the storage system, the method comprising:

detecting, by the storage system, a file system expansion trigger to expand the file system, the file system being created on a LUN, the LUN underlying the file system;

having detected the file system expansion trigger, reserving, by the storage system, first reserved space in the storage pool for the LUN, the storage pool comprising one or more hardware storage devices, wherein the first reserved space is not yet provisioned to the LUN;

increasing, by the storage system, a LUN size attribute associated with the LUN underlying the file system, the LUN size attribute being increased by first additional space to reflect the first reserved space reserved in the storage pool for the LUN; wherein increasing, by the storage system, the LUN size attribute associated with the LUN underlying the file system includes increasing the LUN size attribute by the first additional space without mapping addresses in the first additional space to any addresses in the first reserved space in the storage pool;

increasing, by the storage system, a file system size attribute associated with the file system by second additional space to reflect the increased LUN size attribute associated with the LUN underlying the file system; wherein increasing, by the storage system, the file system size attribute associated with the file system includes increasing the file system size attribute by the second additional space without formatting the second additional space;

receiving, by the storage system, first data to write to the file system;

in response to receiving the first data, determining, by the storage system, an expansion result, wherein the expansion result indicates whether to expand the LUN and the file system; and if the expansion result indicates to expand the LUN and the file system:

provisioning, by the storage system, to the LUN, a first portion of the first reserved space reserved in the storage pool for the LUN;

having provisioned the first portion of the first reserved space to the LUN, formatting, by the storage system, for the file system, the first portion of the first reserved space reserved in the storage pool for the LUN; and

writing, by the storage system, the first data to the file system.

2. The method of claim 1 , wherein detecting, by the storage system, the file system expansion trigger comprises: receiving, by the storage system, from a storage system management module, a command to expand the file system.

3. The method of claim 2 , wherein the file system is a thick file system.

4. The method of claim 1 , wherein detecting, by the storage system, the file system expansion trigger comprises: determining, by the storage system, that a utilization of the file system exceeds a pre-determined threshold.

5. The method of claim 4 , wherein the file system is a thin file system.

6. The method of claim 1 , wherein determining, by the storage system, the expansion result comprises: setting, by the storage system, the expansion result to indicate to expand the LUN and the file system if at least the first portion of the first reserved space is required by the storage system to store the first data.

7. The method of claim 1 , wherein determining, by the storage system, the expansion result comprises: setting, by the storage system, the expansion result to indicate to expand the LUN and the file system if after storing the first data a utilization associated with the file systems will exceed a pre-determined threshold.

8. The method of claim 1 , further comprising: determining, by the storage system, a size of the first portion of the first space based on a size of the first data.

9. A storage system comprising:

a storage processor; and

a plurality of hardware storage devices connected to the storage processor, wherein the storage processor is configured to:

detect a file system expansion trigger to expand a file system, the file system being created on a LUN, the LUN underlying the file system;

having detected the file system expansion trigger,

reserve first reserved space in the storage pool for the LUN, the storage pool comprising one or more of the plurality of hardware storage devices, wherein the first reserved space is not yet provisioned to the LUN;

increase a LUN size attribute associated with the LUN underlying the file system, the LUN size attribute being increased by first additional space to reflect the first reserved space reserved in the storage pool for the LUN; wherein increase, by the storage system, the LUN size attribute associated with the LUN underlying the file system includes increasing the LUN size attribute by the first additional space without mapping addresses in the first additional space to any addresses in the first reserved space in the storage pool;

increase a file system size attribute associated with the file system by second additional space to reflect the increased LUN size attribute associated with the LUN underlying the file system; wherein increase, by the storage system, the file system size attribute associated with the file system includes increasing the file system size attribute by the second additional space without formatting the second additional space;

receive first data to write to the file system; in response to receiving the first data, determine art expansion result, wherein the expansion result indicates whether to expand the LUN and the file system; and

if the expansion result indicates to expand the LUN and the file system:

provision to the LUN, a first portion of the first reserved space reserved in the storage pool for the LUN;

having provisioned the first portion of the first reserved space to the LUN,

format for the file system, the first portion of the first reserved space reserved in the storage pool for the LUN; and

write the first data to the file system.

10. The storage system of claim 9 , wherein the storage processor is configured to detect the file system expansion trigger by receiving, from a storage system management module, a command to expand the file system.

11. The storage system of claim 10 , wherein the file system is a thick file system.

12. The storage system of claim 9 , wherein the storage processor is configured to detect the file system expansion trigger by determining that a utilization of the file system exceeds a pre-determined threshold.

13. The storage system of claim 12 , wherein the file system is a thin file system.

14. The storage system of claim 9 , wherein the storage processor is configured to determine the expansion result by setting the expansion result to indicate to expand the LUN and the file system if at least the first portion of the first reserved space is required by the storage system to store the first data.

15. The storage system of claim 9 , wherein the storage processor is configured to determine the expansion result by setting the expansion result to indicate to expand the LUN and the file system if after storing the first data a utilization associated with the file systems will exceed a pre-determined threshold.

16. The storage system of claim 9 , wherein the storage processor is further configured to: determine a size of the first portion of the first space based on a size of the first data.

17. A computer program product, tangibly embodied in a non-transitory computer readable storage medium, including instructions being operable to cause a storage system to:

detect, by the storage system, a file system expansion trigger to expand a file system, the file system being created on a LUN, the LUN underlying the file system;

having detected the file system expansion trigger,

reserve, by the storage system, first reserved space in the storage pool for the LUN, the storage pool comprising one or more hardware storage devices, wherein the first reserved space is not yet provisioned to the LUN;

increase, by the storage system, a LUN size attribute associated with a the LUN underlying the file system, the LUN size attribute being increased by first additional space to reflect the first reserved space reserved in the storage pool for the LUN; wherein increase, by the storage system, the LUN size attribute associated with the LUN underlying the file system includes increasing the LUN size attribute by the first additional space without mapping addresses in the first additional space to any addresses in the first reserved space in the storage pool;

increase, by the storage system, a file system size attribute associated with the file system by second additional space to reflect the increased LUN size attribute associated with the LUN underlying the file system; wherein increase, by the storage system, the file system size attribute associated with the file system includes increasing the file system size attribute by the second additional space without formatting the second additional space;

receive, by the storage system, first data to write to the file system;

in response to receiving the first data, determine, by the storage system, an expansion result, wherein the expansion result indicates whether to expand the LUN and the file system; and if the expansion result indicates to expand the LUN and the file system:

provision, by the storage system, to the LUN, a first portion of the first reserved space reserved in the storage pool for the LUN;

having provisioned the first portion of the first reserved space to the LUN,

format, by the storage system, for the file system, the first portion of the first space reserved in the storage pool for the LUN; and

write, by the storage system, the first data to the file system.

18. The computer program product of claim 17 , wherein the file system is a thick file system.

19. The computer program product of claim 17 , wherein the file system is a thin file system.

20. The computer program product of claim 17 , further comprising instructions being operable to cause a storage system to:

determine, by the storage system, a size of the first portion of the first space based on a size of the first data.

21. The method of claim 1 , further comprising:

delaying (i) the mapping of the addresses in the first additional space to the addresses in the first reserved space in the storage pool, and (ii) the formatting of the second additional space, until the expansion result indicates to expand the LUN and the file system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045295/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: ZHOU, YINGCHAO; DAVENPORT, WILLIAM; SHEN, HAIJIA; FANG, HENRY; BONO, JEAN-PIERRE; ARMANGAU, PHILIPPE
To: EMC CORPORATION
Reel/Frame 033269/0761 →