Converting files between thinly and thickly provisioned states
AssigneeEMC IP Holding Company LLC
InventorsIvan Bassov, Walter C. Forrester, Michal Marko, Ahsan Rashid
Life of this patent
Estimating the term…
Abstract
A technique for managing storage space in a data storage system implements data objects in respective files. In response to an instruction to convert a set of such files from thin to thick or from thick to thin, the data storage system checks whether it has enough available storage space to accommodate the set of files if conversion were to proceed. If so, conversion is performed, and each of the set of files is converted from thin to thick or from thick to thin, in accordance with the instruction.
Claims20
A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:
- receive an instruction to convert a file from a first state to a second state, the first state being one of (i) a thickly-provisioned state, in which the file has a predetermined maximum size that is fully space-guaranteed, and (ii) a thinly-provisioned state, in which the file has no predetermined maximum size that is fully space-guaranteed, the second state being the other of (i) the thickly-provisioned state and (ii) the thinly-provisioned state;
- in response to receiving the instruction, perform a storage-checking operation, the storage-checking operation configured (i) to produce a successful result when the data storage system has enough available storage space to accommodate the file, including any space guarantee for the file, if conversion were to proceed and (ii) to produce an unsuccessful result when the data storage system does not have enough available storage space to accommodate the file, including any space guarantees for the file, if conversion were to proceed;
- and
- in response to the storage-checking operation producing the successful result, convert the file from the first state to the second state,
- wherein the storage-checking operation is configured to produce the successful result in response to the data storage system having enough available storage space to further accommodate indirect blocks for supporting mapping of the file.
A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method for managing storage space in a data storage system, the method comprising:
- receiving an instruction to convert a file from a first state to a second state, the first state being one of (i) a thickly-provisioned state, in which the file has a predetermined maximum size that is fully space-guaranteed, and (ii) a thinly-provisioned state, in which the file has no predetermined maximum size that is fully space-guaranteed, the second state being the other of (i) the thickly-provisioned state and (ii) the thinly-provisioned state;
- in response to receiving the instruction, performing a storage-checking operation, the storage-checking operation configured (i) to produce a successful result when the data storage system has enough available storage space to accommodate the file, including any space guarantee for the file, if conversion were to proceed and (ii) to produce an unsuccessful result when the data storage system does not have enough available storage space to accommodate the file, including any space guarantees for the file, if conversion were to proceed;
- and
- in response to the storage-checking operation producing the successful result, converting the file from the first state to the second state,
- wherein the storage-checking operation produces the successful result in response to the data storage system having enough available storage space to further accommodate indirect blocks for supporting mapping of the file.
A method of managing storage space in a data storage system, the method comprising:
- receiving an instruction to convert a file from a first state to a second state, the first state being one of (i) a thickly-provisioned state, in which the file has a predetermined maximum size that is fully space-guaranteed, and (ii) a thinly-provisioned state, in which the file has no predetermined maximum size that is fully space-guaranteed, the second state being the other of (i) the thickly-provisioned state and (ii) the thinly-provisioned state;
- in response to receiving the instruction, performing a storage-checking operation, the storage-checking operation configured (i) to produce a successful result when the data storage system has enough available storage space to accommodate the file, including any space guarantees for the file, if conversion were to proceed and (ii) to produce an unsuccessful result when the data storage system does not have enough available storage space to accommodate the file, including any space guarantees for the file, if conversion where to proceed;
- and
- in response to the storage-checking operation producing the successful result, converting the file from the first state to the second state,
- wherein the storage-checking operation produces the successful result when the data storage system has enough available storage space to further accommodate indirect blocks for supporting mapping of the file.
Dependencies are inferred from the claim text.