IP Library › Granted Patent US 10,262,023
Granted Patent B1
US 10,262,023 · App. 14/501,855 · Granted Apr 16, 2019

Managing data inconsistencies in file systems

Inventors: Yaming Kuang (Shanghai, CN); Yingchao Zhou (Beijing, CN); Srinivasa Rao Vempati (Upton, MA); William C. Davenport (Burlington, MA); Jean-Pierre Bono (Westborough, MA); Marshall Hansi Wu (Shanghai, CN); James O. Owens (Nashua, NH)
Assignee: EMC IP Holding Company LLC
G06F17/30371
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 10,262,023
App. No.
14/501,855
Filed
Sep 30, 2014
Granted
Apr 16, 2019
Kind
B1
Art Unit
2152
USPC
707/691
Abstract

A method is used in managing data inconsistencies in file systems. A data inconsistency is detected in a file system data block of a file system. The file system includes a set of file system data blocks. Information regarding the data inconsistency is provided to a client of the file system. Based on the information, the client is enabled to determine an action for recovering from the data inconsistency.

Claims (34)

1. A method for use in managing data inconsistencies in file systems, the method comprising:

detecting, by a file system management logic, a data inconsistency in a file system data block of a file system, wherein the file system includes a set of file system data blocks;

updating mapping information of the file system data block to indicate that the file system data block no longer includes valid data of the file system;

reporting an I/O error to a client system, wherein a logical volume is exported to the client system for accessing the logical volume organized as the file system on a storage device of a storage system, wherein the client system is in communication with the storage system;

avoiding recovering the file system data block from the data inconsistency by a file system recovery utility, prior to providing the file system data block to the client system, by providing information regarding the data inconsistency to the client system to enable the client system to determine an action for recovering the file system data block, wherein the information includes a file name of a file of the file system including the file system data block and location information for the file system data block; and

based on the information and the I/O error reported to the client system, determining, by the client system, the action for recovering from the data inconsistency, wherein the action indicates how the I/O error is resolved by the client system, and wherein the file system management logic avoids overwriting the file system data block prior to providing the file system data block to the client system, to allow the client system to determine the action for recovering from the data inconsistency, wherein avoiding overwriting the file system data block prior to providing the file system data block to the client system includes avoiding writing zeros to the filer system block by the file system recovery utility, wherein at least one action determined by the client system for recovering from the data inconsistency is selected from marking a logical volume associated with the file system data block offline, marking a portion of the logical volume as inconsistent, and starting a background process to fix the data inconsistency.

2. The method of claim 1 , wherein the file system is represented by a file system hierarchy, the file system hierarchy including a set of indirect data blocks, each indirect data block including a set of data blocks.

3. The method of claim 1 , wherein detecting the data inconsistency further comprising:

evaluating metadata of each file system data block of the set of file system data blocks.

4. The method of claim 3 , wherein the metadata of a file system data block includes a flag indicating whether contents of the file system data block are inconsistent.

5. The method of claim 1 , wherein the information regarding the data inconsistency provided to the client of the file system includes an I/O error, wherein the I/O error includes a file name, file path name, and an offset for the file system data block.

6. The method of claim 1 , wherein the client is a virtual machine, wherein the file system is presented as a virtual disk to the virtual machine.

7. The method of claim 1 , wherein the client performs the action based on the information provided to the client.

8. The method of claim 1 , further comprising:

avoiding writing zeros to the file system data block upon detecting the data inconsistency in the file system data block.

9. The method of claim 1 , wherein the data inconsistency is detected upon performing a write operation on the file system data block.

10. The method of claim 1 , wherein the data inconsistency is detected upon performing a file system recovery operation on the file system data block.

11. A system for use in managing data inconsistencies in file systems, the system comprising a processor configured to:

detect, by a file system management logic, a data inconsistency in a file system data block of a file system, wherein the file system includes a set of file system data blocks;

update mapping information of the file system data block to indicate that the file system data block no longer includes valid data of the file system;

report an I/O error to a client system, wherein a logical volume is exported to the client system for accessing the logical volume organized as the file system on a storage device of a storage system, wherein the client system is in communication with the storage system;

avoid recovering the file system data block from the data inconsistency by a file system recovery utility, prior to providing the file system data block to the client systems by providing information regarding the data inconsistency to the client system to enable the client system to determine an action for recovering the file system data block, wherein the information includes a file name of a file of the file system including the file system data block and location information for the file system data block; and

based on the information and the I/O error reported to the client system, determine, by the client system, the action for recovering from the data inconsistency, wherein the action indicates how the I/O error is resolved by the client system, and wherein the file system management logic avoids overwriting the file system data block prior to providing the file system data block to the client system, to allow the client system to determine the action for recovering from the data inconsistency, wherein avoiding overwriting the file system data block prior to providing the file system data block to the client system includes avoiding writing zeros to the filer system block by the file system recovery utility, wherein at least one action determined by the client system for recovering from the data inconsistency is selected from marking a logical volume associated with the file system data block offline, marking a portion of the logical volume as inconsistent, and starting a background process to fix the data inconsistency.

12. The system of claim 11 , wherein the file system is represented by a file system hierarchy, the file system hierarchy including a set of indirect data blocks, each indirect data block including a set of data blocks.

13. The system of claim 11 , wherein detecting the data inconsistency further comprising:

evaluating metadata of each file system data block of the set of file system data blocks.

14. The system of claim 13 , wherein the metadata of a file system data block includes a flag indicating whether contents of the file system data block are inconsistent.

15. The system of claim 11 , wherein the information regarding the data inconsistency provided to the client of the file system includes an I/O error, wherein the I/O error includes a file name, file path name, and an offset for the file system data block.

16. The system of claim 11 , wherein the client is a virtual machine, wherein the file system is presented as a virtual disk to the virtual machine.

17. The system of claim 11 , wherein the client performs the action based on the information provided to the client.

18. The system of claim 11 , further comprising:

avoid writing zeros to the file system data block upon detecting the data inconsistency in the file system data block.

19. The system of claim 11 , wherein the data inconsistency is detected upon performing a write operation on the file system data block.

20. The system of claim 11 , wherein the data inconsistency is detected upon performing a file system recovery operation on the file system data block.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: KUANG, YAMING; ZHOU, YINGCHAO; VEMPATI, SRINIVASA RAO; DAVENPORT, WILLIAM C.; BONO, JEAN-PIERRE; WU, MARSHALL HANSI; OWENS, JAMES O.
To: EMC CORPORATION
Reel/Frame 033851/0893 →
Cited By (7)
US 12,217,039 US 12,307,238 US 12,400,015 US 12,461,832 US 12,487,781 US 12,541,431 US 12,699,560