From: Theodore Tso <tytso@mit.edu>
To: steve@chygwyn.com
Cc: linux-fsdevel@vger.kernel.org, Josef Bacik <jbacik@redhat.com>,
Mark Fasheh <mfasheh@suse.com>
Subject: Re: [PATCH 3/4] generic block based fiemap implementation
Date: Mon, 6 Oct 2008 17:14:02 -0400 [thread overview]
Message-ID: <20081006211402.GC8139@mit.edu> (raw)
In-Reply-To: <20081006113506.GA23889@fogou.chygwyn.com>
On Mon, Oct 06, 2008 at 12:35:06PM +0100, steve@chygwyn.com wrote:
>
> Would it be possible to move the inode mutex out of generic_block_fiemap()
> and into the callers? The defined lock ordering in GFS2 is inode mutex ->
> inode glock, and thus we want to be able to lock in that order. We should
> be able to use generic_block_fiemap() for GFS2 in that case.
Given that nearly all other block-based filesystems that don't use
extents would need to take the mutex lock, this would be error-prone.
What about introducing an _generic_block_fiemap() for use by GFS2 that
doesn't the inode mutex, and changing generic_block_fiemap() to be a
wrapper that calls _generic_block_fiemap() and takes the inode mutex
for the convenience of most other filesystems?
This would be a very simple change to make once a patch to enable GFS2
use of the FIEMAP interface. (If we introduce
_generic_block_fiemap(), it's likely to get removed by some random
roving Kernel Janitor, as an exported but unused interface. :-)
It occurs to me though that this is likely not all that is needed for
GFS2, though, since like Lustre, BTRFS, and ZFS, there can be multiple
disks or storage devices associated with a single filesystem, correct?
So we would need to add some way of identifying the disk, not just the
block number; how does GFS2 identify/enumerate storage devices which
are part of a particular filesystem?
- Ted
next prev parent reply other threads:[~2008-10-06 21:14 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-03 21:59 [PATCH 0/4] Updated fiemap patches Theodore Ts'o
2008-10-03 21:59 ` [PATCH 1/4] vfs: vfs-level fiemap interface Theodore Ts'o
2008-10-03 21:59 ` [PATCH 2/4] ocfs2: fiemap support Theodore Ts'o
2008-10-03 21:59 ` [PATCH 3/4] generic block based fiemap implementation Theodore Ts'o
2008-10-03 21:59 ` [PATCH 4/4] Hook ext4 to the vfs fiemap interface Theodore Ts'o
2008-10-06 11:35 ` [PATCH 3/4] generic block based fiemap implementation steve
2008-10-06 21:14 ` Theodore Tso [this message]
2008-10-07 8:14 ` steve
2008-10-04 2:12 ` [PATCH 1/4] vfs: vfs-level fiemap interface Theodore Tso
2008-10-06 18:15 ` jim owens
2008-10-06 21:07 ` Theodore Tso
2008-10-07 10:12 ` Christoph Hellwig
2008-10-07 10:56 ` Andreas Dilger
2008-10-07 12:52 ` Theodore Tso
2008-10-07 13:00 ` Jamie Lokier
2008-10-07 13:02 ` Christoph Hellwig
2008-10-07 13:24 ` Jamie Lokier
2008-10-07 13:28 ` Christoph Hellwig
2008-10-07 15:45 ` Theodore Tso
2008-10-07 16:01 ` jim owens
[not found] ` <48EB87DE.4090607-VXdhtT5mjnY@public.gmane.org>
2008-10-07 18:52 ` Theodore Tso
[not found] ` <20081007185219.GD15929-3s7WtUTddSA@public.gmane.org>
2008-10-07 20:31 ` Christoph Hellwig
2008-10-07 13:48 ` Theodore Tso
2008-10-07 23:43 ` Jamie Lokier
2008-10-09 20:40 ` Andreas Dilger
2008-10-06 13:07 ` steve
-- strict thread matches above, loose matches on Subject: below --
2008-10-09 1:48 PATCH [0/4] Updated**3 fiemap patches Theodore Ts'o
2008-10-09 1:48 ` [PATCH 1/4] vfs: vfs-level fiemap interface Theodore Ts'o
2008-10-09 1:48 ` [PATCH 2/4] ocfs2: fiemap support Theodore Ts'o
2008-10-09 1:48 ` [PATCH 3/4] generic block based fiemap implementation Theodore Ts'o
2008-10-07 1:06 PATCH [0/4] Updated**2 fiemap patches Theodore Ts'o
2008-10-07 1:06 ` [PATCH 1/4] vfs: vfs-level fiemap interface Theodore Ts'o
2008-10-07 1:06 ` [PATCH 2/4] ocfs2: fiemap support Theodore Ts'o
2008-10-07 1:06 ` [PATCH 3/4] generic block based fiemap implementation Theodore Ts'o
2008-09-13 18:47 YET ANOTHER resend of the fiemap patches Theodore Ts'o
2008-09-13 18:49 ` [PATCH 1/4] vfs: vfs-level fiemap interface Theodore Ts'o
2008-09-13 18:49 ` [PATCH 2/4] ocfs2: fiemap support Theodore Ts'o
2008-09-13 18:49 ` [PATCH 3/4] generic block based fiemap implementation Theodore Ts'o
2008-06-25 22:19 Mark Fasheh
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=20081006211402.GC8139@mit.edu \
--to=tytso@mit.edu \
--cc=jbacik@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=mfasheh@suse.com \
--cc=steve@chygwyn.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).