All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sage Weil <sage@newdream.net>
To: Andreas Dilger <adilger@sun.com>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: common layout xattr
Date: Thu, 16 Jul 2009 15:29:00 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0907161513210.8026@cobra.newdream.net> (raw)
In-Reply-To: <20090716051331.GL14175@webber.adilger.int>

On Thu, 16 Jul 2009, Andreas Dilger wrote:
> For parts of the layout that are generated programatically, like the
> Ceph/Panasas striping order, I don't think that has to be encoded
> explicitly into the layout xattr, since I'd assume the pattern is
> always the same between files (e.g. use $stripe_count objects until
> $max_object_size bytes, then a different set of $stripe_count objects
> for $max_object_size bytes).  That Lustre uses the same $stripe_count
> objects for the whole file, and it would ignore $max_object_size is
> below the level of detail that I'm currently interested in.  In the
> reverse direction, I'd assume that Ceph/Panasas would fill in the
> value for $max_object_size from a default, as if no layout was used.
> 
> Filesystems are free to ignore parameters they don't like, and/or save them
> and return them again when asked (probably with a flag that indicates they
> are not currently in use), basically treating them as an opaque user xattr.
> This will preserve the settings across an fsX -> fsY -> fsX transfer.

The fs would need to add in any unspecified local settings with defaults, 
so that in general reading the xattr will still always fully describe the 
layout.

So in your example, on fsX (Lustre) you might see

 chunk_bytes=65536
 stripe_count=32
 mirror_count=3
 raid_type=1+0

On fsY (ceph) you might see

 chunk_bytes=65536
 stripe_count=32
 mirror_count=3            (ceph ignores)
 raid_type=1+0             (ceph ignores)
 max_object_size=64MB      (ceph adds)

and back on fsX (Lustre) you'd get

 chunk_bytes=65536
 stripe_count=32
 mirror_count=3
 raid_type=1+0
 max_object_size=64MB     (lustre ignores)

How would you indicate which parameters are being ignored?  Something 
easily parsed (and ignored) when setting the xattr.

As long as the common parameter names are somewhat standardized, this 
seems straightforward enough.

sage

  reply	other threads:[~2009-07-16 22:29 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-15 21:24 [PATCH 00/20] ceph: Ceph distributed file system client v0.10 Sage Weil
2009-07-15 21:24 ` [PATCH 01/20] ceph: documentation Sage Weil
2009-07-15 21:24   ` [PATCH 02/20] ceph: on-wire types Sage Weil
2009-07-15 21:24     ` [PATCH 03/20] ceph: client types Sage Weil
2009-07-15 21:24       ` [PATCH 04/20] ceph: super.c Sage Weil
2009-07-15 21:24         ` [PATCH 05/20] ceph: inode operations Sage Weil
2009-07-15 21:24           ` [PATCH 06/20] ceph: directory operations Sage Weil
2009-07-15 21:24             ` [PATCH 07/20] ceph: file operations Sage Weil
2009-07-15 21:24               ` [PATCH 08/20] ceph: address space operations Sage Weil
2009-07-15 21:24                 ` [PATCH 09/20] ceph: MDS client Sage Weil
2009-07-15 21:24                   ` [PATCH 10/20] ceph: OSD client Sage Weil
2009-07-15 21:24                     ` [PATCH 11/20] ceph: CRUSH mapping algorithm Sage Weil
2009-07-15 21:24                       ` [PATCH 12/20] ceph: monitor client Sage Weil
2009-07-15 21:24                         ` [PATCH 13/20] ceph: capability management Sage Weil
2009-07-15 21:24                           ` [PATCH 14/20] ceph: snapshot management Sage Weil
2009-07-15 21:24                             ` [PATCH 15/20] ceph: messenger library Sage Weil
2009-07-15 21:24                               ` [PATCH 16/20] ceph: nfs re-export support Sage Weil
2009-07-15 21:24                                 ` [PATCH 17/20] ceph: ioctls Sage Weil
2009-07-15 21:24                                   ` [PATCH 18/20] ceph: debugging Sage Weil
2009-07-15 21:24                                     ` [PATCH 19/20] ceph: debugfs Sage Weil
2009-07-15 21:24                                       ` [PATCH 20/20] ceph: Kconfig, Makefile Sage Weil
2009-07-16 12:27                                     ` [PATCH 18/20] ceph: debugging Andi Kleen
2009-07-16 17:17                                       ` Sage Weil
2009-07-17 18:07                                         ` Sage Weil
2009-07-17 18:56                                           ` Andi Kleen
2009-07-17 19:52                                             ` Sage Weil
2009-07-17 20:01                                               ` Andi Kleen
2009-07-17 21:35                                                 ` Sage Weil
2009-07-17 21:51                                                   ` Andi Kleen
2009-07-15 22:05                                   ` common layout xattr Andreas Dilger
2009-07-15 22:19                                     ` Sage Weil
2009-07-16  5:13                                       ` Andreas Dilger
2009-07-16 22:29                                         ` Sage Weil [this message]
2009-07-17  4:45                                           ` Andreas Dilger
2009-07-18  4:51                                             ` Sage Weil
2009-07-16 19:27                                 ` [PATCH 16/20] ceph: nfs re-export support J. Bruce Fields
2009-07-16 19:50                                   ` Sage Weil
2009-07-16 21:21                                     ` Trond Myklebust
2009-07-16 22:07                                       ` Sage Weil
2009-07-17 14:05                                         ` J. Bruce Fields
2009-07-17 16:49                                           ` Sage Weil
2009-07-17 16:57                                             ` J. Bruce Fields
2009-07-16 12:31     ` [PATCH 02/20] ceph: on-wire types Andi Kleen
2009-07-16 16:58       ` Sage Weil
2009-07-16  3:59 ` [PATCH 00/20] ceph: Ceph distributed file system client v0.10 Noah Watkins
2009-07-16 17:03   ` Sage Weil
2009-07-16 12:26 ` Andi Kleen
2009-07-16 17:11   ` Sage Weil
2009-07-18  1:28     ` Chris Wright
2009-07-18  4:39       ` Sage Weil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0907161513210.8026@cobra.newdream.net \
    --to=sage@newdream.net \
    --cc=adilger@sun.com \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.