Contract SFS-DEV-004

From OpenSFS Wiki
Jump to navigation Jump to search


The goal of the CLIO Simplification Implementation contract is the implementation in the Lustre source code of the CLIO Simplification Design that resulted from Project 2 of Contract SFS-DEV-003.

For the contract statement of work, see SFS-DEV-004_SOW.pdf

Key People


  • Galen Shipman - OpenSFS Contract Administrator
  • Christopher Morrone - OpenSFS Technical Representative

Project Approval Committee (PAC)

  • Christopher Morrone - PAC Chair
  • Colin Faber
  • Patrick Farrell
  • Jason Hill
  • James Simmons
  • Cory Spitz


  • Andreas Dilger - Consulting Architect
  • Jinshan Xiong - Lead Engineer

Important Dates

The official start date of work is agreed to be October 13, 2014.

The contract lists milestone target dates in weeks relative to the start date. With the start date agreed, here we can just list actual dates to keep things easy to understand.

Milestone task Target Completion Actual Completion
Implementation Jan 26th 2015
Test and fix Apr 6th 2015
Demonstration May 4th 2015
Landing Jun 1st 2015

Contract Products

cl_lock re-factoring (simplified and cache-less) DONE

LU-3259 cl_lock re-factoring

1 of 1 patches landed

Removal of liblustre DONE

LU-2675 removal of non-linux interfaces and liblustre

7 of 7 patches landed

ioctl calls implementation STARTED

LU-5823 Replace some obsolete obd operations with CLIO ioctl interface 6 patches of 6? in review:

Remove lov_stripe_md (LSM) direct access beyond LOV layer STARTED

LU-5814 encapsulate lov_stripe_md (LSM) to LOV layer

5 of 20? patches landed.

1 of 20? patches in review:

Remove non-linux interfaces STARTED

Two parts

Remove some cfs_ prefixed functions. STARTED

3 of 5? patches landed


remove cfs_atomic_*]

remove cfs_get_blocked_sigs()

remove cfs_list_* definitions

2 of 2? patches pending

  • complete removal of cfs_get_blocked_sigs()
  • remove cfs_strncasecmp


  • cfs_snprintf() does have uses, not equivilent to snprintf(), will remain.
  • cfs_hlist* are needed for Linux kernel compatibility and will remain.

Remove ccc_ layer STARTED

1 of 20? patches started

Cleanup obsolete OBD methods

0 of 20? patches started.

Tasks include

  • Replace the use of obd_setattr_async() in the handler for FSFILT_IOC_SETFLAGS.
  • Remove lov_setattr_async.
  • Remove lov_packmd and lov_unpackmd.
  • Remove dead or unused lsm parameters from several functions (o_get_info, mgc_enqueue, osc_brw_prep_request,...).
  • Convert ll_getxattr to use ll_file_getstripe().

NOTE: o_create, o_destroy are still in use by the echo code. Their LSM parameters have been removed.

Meeting Minutes

Meeting WW45


Chris, Doug, Richard


  • meeting format and minute taking. AGREE Minutes should go onto the wiki.
  • feedback on status reports. Chris provided feedback, recorded as actions below.
  • project risks.
  • next meeting: 4th December.
  • other business.

45.0 ACTION: RH to resolve scope of LU-4198.

45.1 ACTION: RH to review whats happening with LDLM_GID_ANY on 10858

45.2 ACTION: RH Explain the patches in human readable form on the wiki page.

45.3 ACTION: RH Jira tickets should be enhanced with more content.

45.4 ACTION: RH to include a forecast for how much work in total there is expected on a ticket.

next meeting: 4th December.

Change requests

004-001 CLIO ioctl's should be functions

CHANGE REQUEST: 004-001 CLIO ioctl's should be functions.

BACKGROUND: Ioctl calls were included in the CLIO Simplification design to replace some obsolete ODB operations. Alternatively, individual functions can replace the ODB operations instead.

CHANGE: Do not implement ioctl calls. Implement functions.


  • Ensure none of the current patches are land.
  • Update the design document with the new design.
  • Update the ticket LU-5823 with new activity.
  • Execute work to complete LU-5823.