All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 5/7] xfs: defer EFI and EFD log formatting until iop_format time
Date: Mon, 25 Nov 2013 05:40:27 -0800	[thread overview]
Message-ID: <20131125134027.GC21992@infradead.org> (raw)
In-Reply-To: <20131125085049.GB8803@dastard>

On Mon, Nov 25, 2013 at 07:50:49PM +1100, Dave Chinner wrote:
> Yeah, you can't use the freelist structure like that - it's a
> linked, which you copy the freelist structure when logging the
> EFI/EFD, and then free the items on the linked list. Then when
> formatting the structure, you walk the list attached to the copy of
> the freelist structure, which has alreayd been freed.
> 
> Basically, we've got a bunch of nasty life cycle issues around the
> EFI/EFD that need to be fixed. Firstly, the EFD code assumes that
> the EFI always outlives it, but we don't take a reference when we
> connect the EFD to the EFI - the EFI is created with the reference
> for the EFD already added to it. Then in abort cases we simply free
> the EFI, even though there may be an EFD that still references it...
> 
> So I think that this needs to be fixed up before you can even
> consider sharing something like a reference counted freelist
> structure between the EFI/EFD structures....

In fact I was pondering having just a single refcounted structured for
the EFI and EFD, and have two xfs_log_item structures embedded into it,
with the ops modifying the common refcount.  This isn't quite ready
yet but looks feasible.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2013-11-25 13:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-23 15:11 [PATCH 0/7] decouple the in-memory from the on-disk log format Christoph Hellwig
2013-11-23 15:11 ` [PATCH 1/7] xfs: let iop_format write directly into the linear buffer Christoph Hellwig
2013-11-25  9:15   ` Dave Chinner
2013-11-25 13:37     ` Christoph Hellwig
2013-11-25 20:45       ` Dave Chinner
2013-11-26  6:02         ` Christoph Hellwig
2013-11-23 15:11 ` [PATCH 2/7] xfs: remove the inode log format from the inode log item Christoph Hellwig
2013-11-23 15:11 ` [PATCH 3/7] xfs: remove the dquot log format from the dquot " Christoph Hellwig
2013-11-23 15:11 ` [PATCH 4/7] xfs: remove the quotaoff log format from the quotaoff " Christoph Hellwig
2013-11-23 15:11 ` [PATCH 5/7] xfs: defer EFI and EFD log formatting until iop_format time Christoph Hellwig
2013-11-24  9:18   ` Christoph Hellwig
2013-11-25  8:50     ` Dave Chinner
2013-11-25 13:40       ` Christoph Hellwig [this message]
2013-11-23 15:11 ` [PATCH 6/7] xfs: remove efi_next_extent Christoph Hellwig
2013-11-23 15:11 ` [PATCH 7/7] xfs: remove opencoded versions of xfs_bmap_cancel Christoph Hellwig
2013-11-25  8:54 ` [PATCH 0/7] decouple the in-memory from the on-disk log format Dave Chinner
2013-11-25 13:35   ` Christoph Hellwig

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=20131125134027.GC21992@infradead.org \
    --to=hch@infradead.org \
    --cc=david@fromorbit.com \
    --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.