[LU-5880] CLIO Simplification Created: 06/Nov/14  Updated: 17/Nov/17  Resolved: 09/Jul/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.7.0
Fix Version/s: Lustre 2.8.0

Type: Task Priority: Minor
Reporter: Richard Henwood (Inactive) Assignee: Zhenyu Xu
Resolution: Fixed Votes: 0
Labels: clio

Issue Links:
Blocker
is blocked by LU-5814 encapsulate lov_stripe_md (LSM) to LO... Resolved
is blocked by LU-5823 Replace some obsolete obd operations ... Resolved
is blocked by LU-5971 removal of ccc_ layer Resolved
is blocked by LU-3259 cl_lock refactoring Resolved
Related
is related to LU-3260 Solution Architecture and HLD Closed
is related to LU-10257 vvp_lock, lov_page, and lovsub_{lock,... Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
LU-6153 rename cfs_(v)snpritnf to (v)scnprintf Technical task Closed John Hammond  
Rank (Obsolete): 16444

 Description   

The Lustre* file system client implementation for the IO path (called CLIO) is responsible for issuing RPC commands for reading and writing data to the OSTs. CLIO was reconstructed in Lustre software version 2.0 for cross-platform portability. The 2.x client implementation has proven over time to be highly complex thus making the code hard to understand and maintain.

Liblustre has not been maintained or tested for a number of release cycles. Today, the code compiles successfully but no evidence to show that anybody is using liblustre. This code only serves to confuse engineers and it should be removed.

In addition, CLIO is highly complex, with a significant amount of this complexity being contributed by the cl_lock. This complexity creates a high barrier to entry for engineers wanting to modify, enhance and identify bugs. As a result enhancements to the client code are time consuming and a significant number of BUGs arrive from the cl_lock portions of the code. These BUGs can only be fixed by a few engineers because of the code complexity. LLNL has mentioned that "even our experienced engineers can't understand the Client IO code". The most complex part of cl_lock should be removed to reduce complexity and confusion. After this is complete CLIO will be easier to understand.

This project is described in the scope statement here:
http://wiki.opensfs.org/images/8/83/CLIOSimplificationDesign_ScopeStatement.pdf


Generated at Sat Feb 10 01:55:19 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.