linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@sun.com>
To: Sage Weil <sage@newdream.net>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: common layout xattr
Date: Fri, 17 Jul 2009 00:45:18 -0400	[thread overview]
Message-ID: <20090717044518.GB4207@webber.adilger.int> (raw)
In-Reply-To: <Pine.LNX.4.64.0907161513210.8026@cobra.newdream.net>

On Jul 16, 2009  15:29 -0700, Sage Weil wrote:
> 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.

The filesystem pretty much has to do that already, because currently no
layout information is passed to the filesystem with the majority of
file creates.

> 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)

Hmm, I thought Ceph had replication for files?  "mirror_count" was intended
to indicate the number of copies of that file that are maintained.  Maybe it
needs a better name?

> 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)

Exactly what I was thinking.

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

I was just thinking something like a prefix or postfix character:

chunk_bytes=65536
stripe_count=32
mirror_count=3
raid_type=1+0
*max_object_size=64MB

or

max_object_size=64MB*

It might also make sense to use "*" (or some other character) to
indicate values that are the filesystem-wide default values, and
not store them either, but that isn't a well-formed opinion yet.

Even dynamically-added "comments" might be OK, like:

chunk_bytes=65536	# default
stripe_count=32		# default
mirror_count=3
raid_type=1+0		# default
max_object_size=64MB	# unknown

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

Good, I don't want anything too complex.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.


  reply	other threads:[~2009-07-17  4:45 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
2009-07-17  4:45                                           ` Andreas Dilger [this message]
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=20090717044518.GB4207@webber.adilger.int \
    --to=adilger@sun.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=sage@newdream.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).