Re: On tmap, omap, xattr physical layout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 26, 2012 at 10:09 AM, Noah Watkins <jayhawk@xxxxxxxxxxx> wrote:
> Would anyone mind giving a short overview of the difference between
> tmap, omap, and xattrs, and the physical layout of these with respect
> to the object payload?
xattrs are (usually — caveat below) stored in the filesystem attached
to the object. Their physical layout varies quite a bit — in btrfs you
can usually count on them being in-line with the inode IIRC; in xfs
they'll start out in-line but tend to overflow into separate blocks
unless you set it to use large xattrs; in ext4...I have no idea.
tmap is an old system in which the actual object is used to store
key-value pairs sequentially — so it *is* the object payload. There's
nothing special about it as far as the filesystem is concerned, and
the OSD only knows it's different from a regular object if you access
it with the tmap ops (you can also use get and put on the object, and
it'll work if your client recognizes the tmap interface). Generally
speaking though, you should consider this deprecated in favor of...
omaps are put in a per-osd leveldb store, carefully keyed so they can
be associated with the correct object. The on-disk layout for these is
more complicated (read about leveldb if you're interested) and has no
relation to the object payload's layout. But they're generally pretty
quick to access since leveldb is so well optimized.

Additionally, there's an OSD flag filestore_xattr_use_omap, which will
use leveldb instead of xattrs for all xattrs over a certain size
(filestore_max_inline_xattr_size) or if you have more than a certain
number of xattrs associated with an object
(filestore_max_inline_xattrs). This option defaults to false but the
OSD will enable it automatically if you are using ext4.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux