All of lore.kernel.org
 help / color / mirror / Atom feed
From: Francis Moreau <francis.moro@gmail.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Question regarding concurrent accesses through block device and fs
Date: Sun, 01 Mar 2009 22:07:30 +0100	[thread overview]
Message-ID: <m2y6vplzot.fsf@gmail.com> (raw)
In-Reply-To: <200903020232.48311.nickpiggin@yahoo.com.au> (Nick Piggin's message of "Mon\, 2 Mar 2009 02\:32\:48 +1100")

Nick Piggin <nickpiggin@yahoo.com.au> writes:

> On Monday 02 March 2009 01:42:55 Francis Moreau wrote:

[...]

> OK, the "buffercache", the cache of block device contents, is normally
> thought of as metadata when it is being used by the filesystem (eg.
> usually via bread() etc), or data when it is being read/written from
> userspace via /dev/<blockdevice>.
>
> In the former case, the buffer.c/filesystem code together know when a
> metadata buffer is unused (because the filesystem has deallocated it),
> so unmap_underlying_metadata will work there.
>
> And it is insane to have a mounted filesystem and have userspace working
> on the same block device, so unmap_underlying_metadata doesn't have to
> care about that case. (IIRC some filesystem tools can do this, but there
> are obviously a lot of tricks to it)

Thanks for clarifying this.

[...]

> Depends on the filesystem. Many do just use the buffercache as a
> writeback cache for their metadata, and are happy to just let the
> dirty page flushers write it out when it suits them

I guess you're talking about the pdflush threads here.

This is the case where I can't find when the metadata are actually
written back to the disk by the flushers. I looked at
writback_inodes() but I fail to find this out.

Could you point out the place in the code where this happen ?

> (or when there are explicit sync instructions given).

yes I see where this happens in these cases.

> Most of the time, these filesystems don't really know or care when
> exactly their metadata is under writeback.

This sounds very weird to me but I need to learn how things work
before doing any serious comments.

thanks
-- 
Francis

  reply	other threads:[~2009-03-01 21:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-13 20:25 Question regarding concurrent accesses through block device and fs Francis Moreau
2009-02-16  3:00 ` Niu_Yawei
2009-02-16  9:03   ` Francis Moreau
2009-02-19 11:07 ` Francis Moreau
2009-02-19 13:44   ` Nick Piggin
2009-02-20 14:10     ` Francis Moreau
2009-02-23  3:58       ` Nick Piggin
2009-03-01 14:42         ` Francis Moreau
2009-03-01 15:32           ` Nick Piggin
2009-03-01 21:07             ` Francis Moreau [this message]
2009-03-02  7:11               ` Nick Piggin
2009-03-02 13:30                 ` Francis Moreau
2009-03-03  3:52                   ` Nick Piggin
2009-03-12  8:05                     ` Francis Moreau
2009-03-12  8:22                       ` Nick Piggin
2009-03-12  9:00                         ` Francis Moreau
2009-03-12  9:12                           ` Nick Piggin

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=m2y6vplzot.fsf@gmail.com \
    --to=francis.moro@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /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.