All of lore.kernel.org
 help / color / mirror / Atom feed
From: TaoMa <tao.ma@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 0/10] Make ocfs2_extent_tree a first-class object
Date: Thu, 21 Aug 2008 11:45:56 +0800	[thread overview]
Message-ID: <48ACE4F4.4000000@oracle.com> (raw)
In-Reply-To: <1219286905-28104-1-git-send-email-joel.becker@oracle.com>

Joel Becker wrote:
> The new xattr code introduced a great abstraction, ocfs2_extent_tree.
> However, it's hidden in alloc.c.  Tao said he wanted to keep it there,
> but I think it works great as a first-class object.
>
> Callers into alloc.c can just fill in an ocfs2_extent_tree with the
> appropriate ocfs2_get_*_extent_tree() function, then pass it to all
> alloc.c functions.  Those functions no longer need individual root_bh,
> root_el, et_type, or void*private arguments.  People filling in dinode
> extent trees don't even need to pass NULL for that private.
>
> The series first adds structure prefixes to ocfs2_extent_tree and
> ocfs2_extent_tree_operations.  Next, it turns 'private' into 'object',
> calculating object as bh->b_data if it was NULL.  Third, we calculate
> the other fields (root_el, max_leaf_extents) in operations rather than
> if blocks.  Finally, we remove the et_type, the if block, and start
> using extent trees as first class objects.
>
> Check out the last patch, which is really the payoff, to see what I'm
> going for.
>   
wow, you did such a quick job. ;)
I just put my modification(which is generated from your review) in my 
local branch and wait for a final send, but you have already sent them 
out. Awesome!
Then I will just need to review them.;)

Regards,
Tao

  parent reply	other threads:[~2008-08-21  3:45 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-21  2:48 [Ocfs2-devel] [PATCH 0/10] Make ocfs2_extent_tree a first-class object Joel Becker
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 01/10] ocfs2: Prefix the extent tree operations structure Joel Becker
2008-08-21  3:47   ` TaoMa
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 02/10] ocfs2: Prefix the ocfs2_extent_tree structure Joel Becker
2008-08-21  3:46   ` TaoMa
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 03/10] ocfs2: Make ocfs2_extent_tree get/put instead of alloc Joel Becker
2008-08-21  3:55   ` TaoMa
2008-08-21  6:19     ` Joel Becker
2008-08-21 22:10   ` Mark Fasheh
2008-08-21 23:05     ` Joel Becker
2008-08-21 23:11       ` Mark Fasheh
2008-08-21 23:27         ` Joel Becker
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 04/10] ocfs2: Make 'private' into 'object' on ocfs2_extent_tree Joel Becker
2008-08-21  4:00   ` TaoMa
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 05/10] ocfs2: Provide the get_root_el() method to ocfs2_extent_tree_operations Joel Becker
2008-08-21  4:07   ` TaoMa
2008-08-21  6:20     ` Joel Becker
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 06/10] ocfs2: Use struct ocfs2_extent_tree in ocfs2_num_free_extents() Joel Becker
2008-08-21  4:10   ` TaoMa
2008-08-21  6:21     ` Joel Becker
2008-08-21  8:08       ` TaoMa
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 07/10] ocfs2: Determine an extent tree's max_leaf_clusters in an et_op Joel Becker
2008-08-21  4:13   ` TaoMa
2008-08-21  6:23     ` Joel Becker
2008-08-21 22:25   ` Mark Fasheh
2008-08-21 23:29     ` Joel Becker
2008-08-22  0:12       ` Joel Becker
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 08/10] ocfs2: Create specific get_extent_tree functions Joel Becker
2008-08-21  8:03   ` TaoMa
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 09/10] ocfs2: Add an insertion check to ocfs2_extent_tree_operations Joel Becker
2008-08-21  4:29   ` TaoMa
2008-08-21  6:26     ` Joel Becker
2008-08-21 22:52   ` Mark Fasheh
2008-08-21 23:25     ` Joel Becker
2008-08-21 23:52       ` Mark Fasheh
2008-08-21  2:48 ` [Ocfs2-devel] [PATCH 10/10] ocfs2: Make ocfs2_extent_tree the first-class representation of a tree Joel Becker
2008-08-21  7:46   ` TaoMa
2008-08-21 17:46     ` Joel Becker
2008-08-21  3:45 ` TaoMa [this message]
2008-08-21  4:28   ` [Ocfs2-devel] [PATCH 0/10] Make ocfs2_extent_tree a first-class object Joel Becker
2008-08-21  4:45     ` Mark Fasheh
2008-08-21  6:26   ` Joel Becker

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=48ACE4F4.4000000@oracle.com \
    --to=tao.ma@oracle.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.