From: Mark Fasheh <mfasheh@suse.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] Refactor ocfs2_insert_extent for not-merging.
Date: Wed, 13 Aug 2008 19:04:22 -0700 [thread overview]
Message-ID: <20080814020422.GE21187@wotan.suse.de> (raw)
In-Reply-To: <48A386D2.40108@oracle.com>
On Thu, Aug 14, 2008 at 09:13:54AM +0800, Tao Ma wrote:
> Mark Fasheh wrote:
> >On Thu, Aug 14, 2008 at 01:33:12AM +0800, Tao Ma wrote:
> >
> >>From: taoma <taoma@tma-home.cn.oracle.com>
> >>
> >>Hi Mark,
> >> Here is the patch we discussed this morning.
> >>
> >>In xattr bucket, we want to limit the maximum size of a btree leaf,
> >>otherwise we'll lose the benefits of hashing because we'll have to search
> >>large leaves.
> >>
> >>So add a new flag in ocfs2_extent_tree which will prevent
> >>ocfs2_insert_extent
> >>from merging the leaf record even if they are contiguous.
> >>
> >
> >Ok, this is close... The problem I see here though is that we've gone from
> >always merging when possible to *never* merging.
> >
> >What we want is "don't merge if the resulting extent is larger than a given
> >size".
> >
> I leave this judgement to the caller itself(the flag) and I think the
> caller should be responsible for telling ocfs2_insert_extent whether the
> new added cluster should be merged or not.
Right.
> So if the caller say loudly that "please don't merge", we will not
> merge.
Well, my point is it's better if the caller says (loudly) "don't exceed this
limit!"... That way, it doesn't have to look at the extents to the right and
left of the record being inserted and figure out whether a merge would be a
bad thing. Basically, it leaves the specifics of where extent records are to
the btree code...
> As for xattr extent tree, I have already judge the situation in
> the caller(ocfs2_add_new_xattr_cluster), so it will not be a problem.
Ok, I didn't see that patch. Is it actually checking records on either side
of the insert?
> There is also another benefit. In future, other extent tree type may
> have another type of things which will ask ocfs2_insert_extent to "not
> merge", but not because of the leaf size. And we can also handle this.
> Make sense?
Yeah, I think we're about 90% in agreement. I also want this for future use
- indexed directories will need to do the same thing. I'd like them to just
just pass down a max size however, and never have to worry about the details
of extent merging.
--Mark
--
Mark Fasheh
next prev parent reply other threads:[~2008-08-14 2:04 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-07 6:23 [Ocfs2-devel] [PATCH 0/15] ocfs2: Add extended attributes for ocfs2. V3 Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 01/15] Modify ocfs2_num_free_extents for future xattr usage Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 02/15] Use ocfs2_extent_list instead of ocfs2_dinode Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 03/15] Abstract ocfs2_extent_tree in b-tree operations Tao Ma
2008-08-14 19:55 ` Joel Becker
2008-08-15 7:17 ` Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 04/15] Make extend allocation generic Tao Ma
2008-08-14 20:01 ` Joel Becker
2008-08-15 7:14 ` Tao Ma
2008-08-14 23:47 ` Joel Becker
2008-08-15 8:44 ` Tao Ma
2008-08-15 6:26 ` Joel Becker
2008-08-15 15:43 ` Tao Ma
2008-08-15 17:59 ` Mark Fasheh
2008-08-15 19:18 ` Joel Becker
2008-08-16 9:39 ` Tao Ma
2008-08-15 19:23 ` Joel Becker
2008-08-16 9:49 ` Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 05/15] Add xattr header in ocfs2. v3 Tao Ma
2008-08-11 0:03 ` Mark Fasheh
2008-08-10 16:49 ` [Ocfs2-devel] [PATCH 05/15] Add xattr header in ocfs2.v3 revised Tao Ma
2008-08-11 1:23 ` Mark Fasheh
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 06/15] Add helper function in uptodate for removing xattr clusters.V3 Tao Ma
2008-08-11 1:22 ` Mark Fasheh
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 07/15] Add extent tree operation for xattr value.v3 Tao Ma
2008-08-16 2:18 ` Joel Becker
2008-08-16 3:29 ` Joel Becker
2008-08-18 12:52 ` TaoMa
2008-08-16 10:40 ` TaoMa
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 10/15] Add xattr tree operations in ocfs2_extent_tree.v3 Tao Ma
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 11/15] Add xattr bucket iteration for large numbers of EAs.v11 Tao Ma
2008-08-12 21:22 ` Mark Fasheh
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 12/15] Add xattr find process for xattr index btree.v3 Tao Ma
2008-08-12 21:42 ` Mark Fasheh
2008-08-13 17:28 ` Tao Ma
2008-08-13 18:11 ` Mark Fasheh
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 13/15] Enable xattr set in index btree. v3 Tao Ma
2008-08-12 0:11 ` Mark Fasheh
2008-08-12 1:09 ` Tao Ma
2008-08-12 20:52 ` Mark Fasheh
2008-08-13 17:33 ` [Ocfs2-devel] [PATCH] Refactor ocfs2_insert_extent for not-merging Tao Ma
2008-08-13 20:32 ` Mark Fasheh
2008-08-14 1:13 ` Tao Ma
2008-08-14 2:04 ` Mark Fasheh [this message]
2008-08-14 16:22 ` [Ocfs2-devel] [PATCH] Refactor ocfs2_insert_extent for not-merging. Revised Tao Ma
2008-08-15 3:09 ` Mark Fasheh
2008-08-12 23:17 ` [Ocfs2-devel] [PATCH 13/15] Enable xattr set in index btree. v3 Mark Fasheh
2008-08-13 0:13 ` Tao Ma
2008-08-13 0:30 ` Mark Fasheh
2008-08-06 22:31 ` [Ocfs2-devel] [PATCH 14/15] Delete all xattr buckets in inode removal.v3 Tao Ma
2008-08-07 7:11 ` [Ocfs2-devel] [PATCH 08/15] ocfs2: reserve inline space for extended attribute Tiger Yang
2008-08-11 1:18 ` Mark Fasheh
2008-08-11 2:15 ` Tiger Yang
2008-08-07 7:11 ` [Ocfs2-devel] [PATCH 09/15] ocfs2: Add extended attribute support v3 Tiger Yang
2008-08-12 0:19 ` Mark Fasheh
2008-08-07 7:12 ` [Ocfs2-devel] [PATCH 15/15] ocfs2: Add incompatible flag for extended attribute v3 Tiger Yang
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=20080814020422.GE21187@wotan.suse.de \
--to=mfasheh@suse.com \
--cc=ocfs2-devel@oss.oracle.com \
/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.