IP Library Granted Patent US 9,465,810
Granted Patent B2
US 9,465,810 · App. 13/187,239 · Granted Oct 11, 2016

Method and system for a fast full style system check using multithreaded read ahead

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,465,810
App. No.
13/187,239
Granted
Oct 11, 2016
Kind
B2
Abstract

A method for file system checking in a storage device. The method includes executing a computer system having a plurality microprocessor cores, initiating a file system check operation by using a file system check agent that execute on the computer system and accesses a storage device, and validating a plurality of meta-data structures of the file system. The method further includes dividing and allocating the metadata structures among a plurality of worker threads. For each worker thread, data corresponding to the metadata structures is processed using a read ahead operation. file system check is processed to completion, wherein the read ahead operation feeds data corresponding to the metadata structures to each of the plurality of worker threads in parallel.

Claims (38)

1. A method for file system checking in a storage device, comprising:

executing a computer system having a plurality microprocessor cores;

initiating a check operation on a file system using a file system check agent that executes on the computer system and accesses a storage device, wherein the file system check agent is shared by the plurality microprocessor cores;

validating a plurality of metadata structures of the file system;

dividing and allocating the metadata structures among a plurality of worker threads;

for each worker thread, processing data corresponding to the metadata structures using a respective read ahead operation, wherein successive read ahead operations are issued on additional metadata related to the metadata structures as the metadata structures become available, wherein the additional metadata comprise an extent map; and

processing the file system check to completion including executing at least an unreferenced inode check using one of the worker threads, wherein the respective read ahead operations feed data corresponding to the metadata structures to each of the plurality of worker threads in parallel, wherein the respective read ahead operations maximize data throughput for the check operation and minimize blocked input and output (I/O) for each worker thread.

2. The method of claim 1 , wherein the plurality of worker threads comprises file system checker threads.

3. The method of claim 1 , wherein the plurality of worker threads comprises read ahead component threads.

4. The method of claim 2 , wherein the file system check operation validates whether data is listed with a connected parent directory.

5. The method of claim 1 , wherein the read ahead operation utilizes a parallel I/O capability of the storage device.

6. The method of claim 1 , wherein the plurality of worker threads execute in parallel on the plurality of microprocessor cores of the computer system.

7. The method of claim 1 , wherein the metadata structures comprise a plurality of inodes.

8. A non-transitory computer readable storage medium having stored thereon, computer executable instructions that, if executed by a computer system cause the computer system to perform a method comprising:

executing a computer system having a plurality microprocessor cores;

initiating a check operation on a file system using a file system check agent that executes on the computer system and accesses a storage device, wherein the file system check agent is shared by the plurality microprocessor cores;

validating a plurality of metadata structures of the file system;

dividing and allocating the metadata structures among a plurality of worker threads;

for each worker thread, processing data corresponding to the metadata structures using a respective read ahead operation, wherein successive read ahead operations are issued on additional metadata related to the metadata structures as the metadata structures become available, wherein the additional metadata comprise an extent map; and

processing the file system check to completion including executing at least an unreferenced inode check using one of the worker threads, wherein the respective read ahead operations feed data corresponding to the metadata structures to each of the plurality of worker threads in parallel, wherein the respective read ahead operations maximize data throughput for the check operation and minimize blocked I/O for each worker thread.

9. The non-transitory computer readable storage medium of claim 8 , wherein the plurality of worker threads comprises file system checker threads.

10. The non-transitory computer readable storage medium of claim 8 , wherein the plurality of worker threads comprises read ahead component threads.

11. The non-transitory computer readable storage medium of claim 8 , wherein the file system check operation validates whether data is listed with a connected parent directory.

12. The non-transitory computer readable storage medium of claim 8 , wherein the read ahead operation utilizes a parallel PO capability of the storage device.

13. The non-transitory computer readable storage medium of claim 8 , wherein the plurality of worker threads execute in parallel on the plurality of microprocessor cores of the computer system.

14. The non-transitory computer readable storage medium of claim 8 , wherein the metadata structures comprise a plurality of inodes.

15. A computer system having a multicore microprocessor coupled to a memory, the memory having computer readable instructions which when executed by the microprocessor cause the computer system to perform a fast file system check, comprising:

executing a computer system having a plurality microprocessor cores;

initiating a check operation on a file system using a file system check agent that executes on the computer system and accesses a storage device, wherein the file system check agent is shared by the plurality microprocessor cores;

validating a plurality of metadata structures of the file system;

dividing and allocating the metadata structures among a plurality of worker threads;

for each worker thread, processing data corresponding to the metadata structures using a respective read ahead operation, wherein successive read ahead operations are issued on additional metadata related to the metadata structures as the metadata structures become available, wherein the additional metadata comprise an extent map; and

processing the file system check to completion including executing at least an unreferenced inode check using one of the worker threads, wherein the respective read ahead operations feed data corresponding to the metadata structures to each of the plurality of worker threads in parallel, wherein the respective read ahead operations maximize data throughput for the check operation and minimize blocked I/O for each worker thread.

16. The computer system of claim 15 , wherein the plurality of worker threads comprises file system checker threads.

17. The computer system of claim 15 , wherein the plurality of worker threads comprises read ahead component threads.

18. The computer system of claim 15 , wherein the read ahead operation utilizes a parallel I/O capability of the storage device.

19. The computer system of claim 15 , wherein the file system check operation validates whether data is listed with a connected parent directory.

20. The computer system of claim 15 , wherein the metadata structures comprise a plurality of inodes.

Assignments (15)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →