Vấn đề cơ bản là trình kiểm tra hệ thống tệp (thường) không phải là một phần của hệ thống tệp. Thay vào đó, nó là một chương trình riêng biệt đọc và ghi vào cùng một đĩa với mã hệ thống tệp trong kernel. Kết quả là, nếu bạn chạy fsck trên một hệ thống tệp đang hoạt động, bạn có hai thực thể khác nhau đang đọc (và có khả năng sửa đổi) cùng một dữ liệu (đĩa), nhưng chúng không phối hợp với nhau theo bất kỳ cách nào. Kết quả, như những người khác đã chỉ ra, là hầu hết người kiểm tra mong đợi rằng không ai khác đang thay đổi siêu dữ liệu hệ thống tệp trong khi họ chạy. Họ sẽ bị lẫn lộn và / hoặc báo cáo lỗi giả nếu hệ thống tệp kernel thay đổi một cái gì đó mà trình kiểm tra không mong đợi.
Có một vài hệ thống tệp có trình kiểm tra được thiết kế rõ ràng để chạy "trực tuyến" (nghĩa là trong khi hệ thống tệp đang hoạt động). Các phiên bản mới hơn của FFS / UFS thực hiện điều này bằng cách chạy fsck dựa trên ảnh chụp nhanh gần đây của hệ thống tệp (bản sao chỉ đọc, tại thời điểm, sao chép khi ghi). Nếu nó tìm thấy các vấn đề, chẳng hạn như sự không nhất quán trong bản đồ bit phân bổ, nó sẽ sửa chúng thông qua cuộc gọi hệ thống, thay vì ghi vào đĩa thô. Điều này cho phép nó phối hợp với hệ thống tập tin hoạt động.
WAFL của NetApp cũng có một công cụ kiểm tra trực tuyến. Có lẽ có những người khác.