Project

General

Profile

Actions

Feature #1236

closed

libceph: set layout via virtual xattrs (libceph/cfuse)

Added by Greg Farnum almost 13 years ago. Updated over 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:

Description

Apparently there actually is support in cfuse for ioctls, although it's hairy. Given that, we should support them in cfuse so that tools like cephfs will work even if you aren't using the kernel client.

Instead, get and set layouts via virtual xattrs. The idea would be to get/set the whole thing using some simple key/value syntax, or get/set individual fields.

ceph.dir.layout: "stripe_unit = 123, stripe_count = 456, ..." 
ceph.dir.layout.stripe_unit: "123"
ceph.dir.layout.stripe_count: "456"

etc.

The goal is then to support the same set of attributes on both the fuse and kernel clients. The client can either interpret the semantics of these attributes, or use a generic interface to communicate virtual xattrs to the MDS and implement it there once.

Actions

Also available in: Atom PDF