From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 8/9] xfs: introduce new internal log vector structure
Date: Mon, 8 Mar 2010 12:16:55 +1100 [thread overview]
Message-ID: <20100308011655.GG28189@discord.disaster> (raw)
In-Reply-To: <20100306154610.GA29590@infradead.org>
On Sat, Mar 06, 2010 at 10:46:10AM -0500, Christoph Hellwig wrote:
> On Sat, Mar 06, 2010 at 12:51:23PM +1100, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@redhat.com>
> >
> > The current log IO vector structure is a flat array and not
> > extensible. To make it possible to keep separate log IO vectors for
> > individual log items, we need a method of chaining log IO vectors
> > together.
> >
> > Introduce a new log vector type that can be used to wrap the
> > existing log IO vectors on use that internally to the log. This
> > means that the existing external interface (xfs_log_write) does not
> > change and hence no changes to the transaction commit code are
> > required.
> >
> > This initial use of the new log vectors does not use the chaining
> > capability of the new log vector structure - it is not needed to
> > implement the flat vector array the current transaction commit path
> > creates.
>
> Looks good to me,
>
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
>
> A few comments below:
>
> > + /* the data section must be 32 bit size aligned */
> > + struct {
> > + __uint16_t magic;
> > + __uint16_t pad1;
> > + __uint32_t pad2; /* may as well make it 64 bits */
> > + } magic = {
> > + .magic = XLOG_UNMOUNT_TYPE,
> > + };
> > + struct xfs_log_iovec reg = {
> > + .i_addr = (void *)&magic,
> > + .i_len = sizeof(magic),
> > + .i_type = XLOG_REG_TYPE_UNMOUNT,
> > + };
> > + struct xfs_log_vec vec = {
> > + .lv_niovecs = 1,
> > + };
> > + /* sigh. c99 initialisers don't work on anon unions */
> > + vec.lv_iovecp = ®
>
> I can't see an anonymous union involved anywhere here, and initializing
> these normally works just fine (see patch below).
Ah, I killed that union for this patch set - I was using embedded
arrays to cut down on memory allocations for the delayed logging so
there was a:
union {
struct xfs_log_iovec *lv_iovecp;
struct xfs_log_iovec lv_iovec[0];
};
in the structure. I decided that the union wasn't necessary for
these patches (and can be avoided entirely, anyway) but I forgot to
fix up the setup of the structure to remove those comments. I'll
update it as you've suggested.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2010-03-08 1:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-06 1:51 [PATCH 0/9] Log and transaction cleanups, factoring and bug fixes Dave Chinner
2010-03-06 1:51 ` [PATCH 1/9] xfs: factor log item initialisation Dave Chinner
2010-03-06 10:51 ` Christoph Hellwig
2010-03-06 1:51 ` [PATCH 2/9] xfs: Add inode pin counts to traces Dave Chinner
2010-03-06 10:51 ` Christoph Hellwig
2010-03-06 1:51 ` [PATCH 3/9] xfs: remove stale parameter from ->iop_unpin method Dave Chinner
2010-03-06 10:55 ` Christoph Hellwig
2010-03-06 1:51 ` [PATCH 4/9] xfs: fix reservation release commit flag in xfs_bmap_add_attrfork() Dave Chinner
2010-03-06 10:52 ` Christoph Hellwig
2010-03-06 1:51 ` [PATCH 5/9] xfs: split out iclog writing from xfs_trans_commit() Dave Chinner
2010-03-06 11:08 ` Christoph Hellwig
2010-03-06 11:57 ` Dave Chinner
2010-03-06 1:51 ` [PATCH 6/9] xfs: update and factor xfs_trans_committed() Dave Chinner
2010-03-06 11:24 ` Christoph Hellwig
2010-03-06 12:01 ` Dave Chinner
2010-03-06 1:51 ` [PATCH 7/9] xfs: log ticket reservation underestimates the number of iclogs Dave Chinner
2010-03-15 2:13 ` Dave Chinner
2010-03-06 1:51 ` [PATCH 8/9] xfs: introduce new internal log vector structure Dave Chinner
2010-03-06 11:31 ` Christoph Hellwig
2010-03-06 12:06 ` Dave Chinner
2010-03-06 15:46 ` Christoph Hellwig
2010-03-08 1:16 ` Dave Chinner [this message]
2010-03-06 1:51 ` [PATCH 9/9] xfs: factor xlog_write and make use of new " Dave Chinner
2010-03-06 15:48 ` Christoph Hellwig
2010-03-06 10:56 ` [PATCH 0/9] Log and transaction cleanups, factoring and bug fixes Christoph Hellwig
2010-03-09 11:39 ` Christoph Hellwig
2010-03-09 11:48 ` Dave Chinner
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=20100308011655.GG28189@discord.disaster \
--to=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=xfs@oss.sgi.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.