Brussels / 1 & 2 February 2020


Asynchronous Directory Operations in CephFS

Metadata-heavy workloads are often the bane of networked and clustered filesystems. Directory operations (create and unlink, in particular) usually involve making a synchronous request to a server on the network, which can be very slow.

CephFS however has a novel mechanism for delegating the ability for clients to do certain operations locally. While that mechanism has mostly been used to delegate capabilities on normal files in the past, it's possible to extend this to cover certain types of directory operations as well.

The talk will describe work that is being done to bring asynchronous directory operations to CephFS. It will cover the design and tradeoffs necessary to allow for asynchronous directory operations, discuss the server and client-side infrastructure being added to support it, and what performance gains we expect to gain from this.

  • overview of problem (why metadata operations are so slow on network filesystems) and proposed solution
  • CephFS caps
  • directory completeness and dentry revalidation
  • asynchronous unlink
  • Inode number delegation
  • asynchronous creates
  • benchmarks
  • what about error handling?


Patrick Donnelly
Photo of Jeff Layton Jeff Layton