From: Tao Ma <tao.ma@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 04/40] ocfs2: move ip_last_trans to struct ocfs2_caching_info
Date: Mon, 16 Feb 2009 09:07:18 +0800 [thread overview]
Message-ID: <4998BC46.2040908@oracle.com> (raw)
In-Reply-To: <1234563387-17101-5-git-send-email-joel.becker@oracle.com>
Joel,
a minor comment see inline.
Joel Becker wrote:
> We have the read side of metadata caching isolated to struct
> ocfs2_caching_info, now we need the write side. This means the journal
> functions. The journal only does a couple of things with struct inode.
>
> This change moves the ip_last_trans field onto struct
> ocfs2_caching_info as ci_last_trans. This field tells the journal
> whether a pending journal flush is required.
>
> Signed-off-by: Joel Becker <joel.becker@oracle.com>
> ---
> fs/ocfs2/inode.c | 10 +++++-----
> fs/ocfs2/inode.h | 2 --
> fs/ocfs2/journal.h | 5 +++--
> fs/ocfs2/ocfs2.h | 4 ++++
> fs/ocfs2/super.c | 1 -
> fs/ocfs2/uptodate.c | 22 +++++++++++++++++++---
> fs/ocfs2/uptodate.h | 1 +
> 7 files changed, 32 insertions(+), 13 deletions(-)
>
> diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
> index fc55fcf..9cefa54 100644
> --- a/fs/ocfs2/inode.c
> +++ b/fs/ocfs2/inode.c
> @@ -1063,13 +1063,14 @@ void ocfs2_clear_inode(struct inode *inode)
> ocfs2_lock_res_free(&oi->ip_inode_lockres);
> ocfs2_lock_res_free(&oi->ip_open_lockres);
>
> - ocfs2_metadata_cache_purge(INODE_CACHE(inode));
> + ocfs2_metadata_cache_exit(INODE_CACHE(inode));
>
> - mlog_bug_on_msg(oi->ip_metadata_cache.ci_num_cached,
> + mlog_bug_on_msg(INODE_CACHE(inode)->ci_num_cached,
> "Clear inode of %llu, inode has %u cache items\n",
> - (unsigned long long)oi->ip_blkno, oi->ip_metadata_cache.ci_num_cached);
> + (unsigned long long)oi->ip_blkno,
> + INODE_CACHE(inode)->ci_num_cached);
>
> - mlog_bug_on_msg(!(oi->ip_metadata_cache.ci_flags &
> + mlog_bug_on_msg(!(INODE_CACHE(inode)->ci_flags &
> OCFS2_CACHE_FL_INLINE),
> "Clear inode of %llu, inode has a bad flag\n",
> (unsigned long long)oi->ip_blkno);
These 2 lines(mlog) has nothing to do with your ip_last_trans, why
change them? And if you really want to change it, it may be included in
the patch you add INODE_CACHE I guess?
Regards,
Tao
next prev parent reply other threads:[~2009-02-16 1:07 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-13 22:15 [Ocfs2-devel] [PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 01/40] ocfs2: Make the ocfs2_caching_info structure self-contained Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 02/40] ocfs2: Change metadata caching locks to an operations structure Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 03/40] ocfs2: Take the inode out of the metadata read/write paths Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 04/40] ocfs2: move ip_last_trans to struct ocfs2_caching_info Joel Becker
2009-02-16 1:07 ` Tao Ma [this message]
2009-02-17 5:36 ` Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 05/40] ocfs2: move ip_created_trans " Joel Becker
2009-02-16 1:09 ` Tao Ma
2009-02-17 5:34 ` Joel Becker
2009-02-17 5:46 ` Tao Ma
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 06/40] ocfs2: Pass struct ocfs2_caching_info to the journal functions Joel Becker
2009-02-16 1:16 ` Tao Ma
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 07/40] ocfs2: Store the ocfs2_caching_info on ocfs2_extent_tree Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 08/40] ocfs2: Pass ocfs2_caching_info to ocfs2_read_extent_block() Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 09/40] ocfs2: ocfs2_find_path() only needs the caching info Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 10/40] ocfs2: ocfs2_create_new_meta_bhs() doesn't need struct inode Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 11/40] ocfs2: Pass ocfs2_extent_tree to ocfs2_unlink_path() Joel Becker
2009-02-13 22:15 ` [Ocfs2-devel] [PATCH 12/40] ocfs2: ocfs2_complete_edge_insert() doesn't need struct inode at all Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 13/40] ocfs2: Get inode out of ocfs2_rotate_subtree_root_right() Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 14/40] ocfs2: Pass ocfs2_extent_tree to ocfs2_get_subtree_root() Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 15/40] ocfs2: Drop struct inode from ocfs2_extent_tree_operations Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 16/40] ocfs2: ocfs2_rotate_tree_right() doesn't need struct inode Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 17/40] ocfs2: ocfs2_update_edge_lengths() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 18/40] ocfs2: ocfs2_rotate_subtree_left() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 19/40] ocfs2: __ocfs2_rotate_tree_left() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 20/40] ocfs2: ocfs2_rotate_tree_left() no longer needs " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 21/40] ocfs2: ocfs2_merge_rec_left/right() no longer need " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 22/40] ocfs2: ocfs2_try_to_merge_extent() doesn't " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 23/40] ocfs2: ocfs2_grow_branch() no longer needs " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 24/40] ocfs2: ocfs2_append_rec_to_path() loses " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 25/40] ocfs2: ocfs2_truncate_rec() doesn't need " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 26/40] ocfs2: Make truncating the extent map an extent_tree_operation Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 27/40] ocfs2: ocfs2_insert_at_leaf() doesn't need struct inode Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 28/40] ocfs2: Give ocfs2_split_record() an extent_tree instead of an inode Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 29/40] ocfs2: ocfs2_do_insert_extent() and ocfs2_insert_path() no longer need " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 30/40] ocfs2: ocfs2_extent_contig() only requires the superblock Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 31/40] ocfs2: Swap inode for extent_tree in ocfs2_figure_merge_contig_type() Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 32/40] ocfs2: Remove inode from ocfs2_figure_extent_contig() Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 33/40] ocfs2: ocfs2_figure_insert_type() no longer needs struct inode Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 34/40] ocfs2: Make extent map insertion an extent_tree_operation Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 35/40] ocfs2: ocfs2_insert_extent() no longer needs struct inode Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 36/40] ocfs2: ocfs2_add_clusters_in_btree() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 37/40] ocfs2: ocfs2_remove_extent() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 38/40] ocfs2: ocfs2_split_and_insert() " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 39/40] ocfs2: __ocfs2_mark_extent_written() doesn't need " Joel Becker
2009-02-13 22:16 ` [Ocfs2-devel] [PATCH 40/40] ocfs2: Pass ocfs2_caching_info into ocfs_init_*_extent_tree() Joel Becker
2009-02-16 1:36 ` [Ocfs2-devel] [PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode Tao Ma
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=4998BC46.2040908@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.