linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: "Chris Mason" <chris.mason@oracle.com>,
	"Jörn Engel" <joern@logfs.org>, "Theodore Tso" <tytso@mit.edu>,
	"Andreas Dilger" <adilger@sun.com>,
	"Christoph Hellwig" <hch@infradead.org>,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	akpm@linuxfoundation.org, "Mark Fasheh" <mfasheh@suse.com>,
	mtk.manpages@gmail.com
Subject: Re: [PATCH 1/4] vfs: vfs-level fiemap interface
Date: Sat, 20 Sep 2008 17:43:12 +1000	[thread overview]
Message-ID: <20080920074312.GR5811@disturbed> (raw)
In-Reply-To: <20080919173802.GB17666@shareable.org>

On Fri, Sep 19, 2008 at 06:38:02PM +0100, Jamie Lokier wrote:
> Chris Mason wrote:
> > On Wed, Sep 17, 2008 at 04:02:12PM +0100, Jamie Lokier wrote:
> > > Assume that even reading after unmounting is not 100% safe, because
> > > the data blocks could be relocated after calling FIEMAP (when the
> > > filesystem must be mounted), and before the unmount.
> > 
> > For the journal case at least, grub can walk through the log of the FS
> > looking for up to date copies of things.  It does this already for
> > reiserfs because the btree can't be trusted at all without a log replay.

OMFG.

> Ok, that's good - grub doesn't need FIEMAP, it reads the filesystem properly.

That's garbage.  The whole point of using an API like FIEMAP is to
avoid the problems with having to parse the raw disk structures to
do stuff.

Grub has extremely hacky implementation of just the stuff it needs
to read stuff directly off disk.  The grub filesystem code is not
reviewed by the various filesystem teams, it doesn't even use the
same code as the filesystems, and last time I looked at it I came
away with bleeding eyes and didn't want to look any further.

Why was I even looking at the grub code? Well, grub doesn't
implement everyhting that is needed to parse XFS metadata
structures. In particular, the problem was out-of-line symlinks
in XFS, or traversing symlinks that point to symlinks was simply
not implemented in the grub XFS code. Of course, this was considered
to be an XFS problem, not a grub problem....

Not to mention that if we change the metadata disk format which is
conditional on a superblock feature bit set at mkfs time, grub knows
*nothing* about that new on disk format, how to parse it and will
break horribly on such a filesystem.

All the APIs are there to prevent such problems that grub has. I
just wish that they would be used rather than using grub's broken
design as justification for not needing or using such APIs.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2008-09-20  7:43 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-09-13 18:49       ` [PATCH 4/4] Hook ext4 to the vfs fiemap interface Theodore Ts'o
2008-09-13 21:17   ` [PATCH 1/4] vfs: vfs-level " Anton Altaparmakov
2008-09-13 21:29     ` Theodore Tso
2008-09-13 21:45       ` Matthew Wilcox
2008-09-13 22:41         ` Theodore Tso
2008-09-13 21:59       ` Anton Altaparmakov
2008-09-14 13:51         ` Christoph Hellwig
2008-09-14 13:48       ` Christoph Hellwig
2008-09-14 17:58         ` Theodore Tso
2008-09-15 14:49           ` Christoph Hellwig
2008-09-15 17:53             ` Mark Fasheh
2008-09-16  6:51               ` Andreas Dilger
2008-09-16 21:31               ` Theodore Tso
2008-09-20 16:47                 ` Josef 'Jeff' Sipek
2008-09-29  1:07                   ` Theodore Tso
2008-09-29 21:13                     ` Mark Fasheh
2008-09-29 22:10                       ` Theodore Tso
2008-09-14 13:47   ` Christoph Hellwig
2008-09-14 18:01     ` Theodore Tso
2008-09-14 18:08       ` Christoph Hellwig
2008-09-14 19:58         ` Theodore Tso
2008-09-15 14:47           ` Christoph Hellwig
2008-09-16  6:49             ` Andreas Dilger
2008-09-16 22:03               ` Theodore Tso
2008-09-17 14:18                 ` Jörn Engel
2008-09-17 15:02                   ` Jamie Lokier
2008-09-17 15:25                     ` Theodore Tso
2008-09-19 14:05                     ` Chris Mason
2008-09-19 17:38                       ` Jamie Lokier
2008-09-20  7:43                         ` Dave Chinner [this message]
2008-09-20 13:50                           ` Chris Mason
     [not found]                           ` <20080920135048.GA15698@think.oraclecorp.com>
2008-09-20 15:36                             ` Jamie Lokier
2008-09-20 15:44                               ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2008-10-09  1:48 PATCH [0/4] Updated**3 fiemap patches Theodore Ts'o
     [not found] ` <1223516913-17612-1-git-send-email-tytso-3s7WtUTddSA@public.gmane.org>
2008-10-09  1:48   ` [PATCH 1/4] vfs: vfs-level fiemap interface 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
     [not found]   ` <1223341581-13802-2-git-send-email-tytso-3s7WtUTddSA@public.gmane.org>
2008-10-07  1:09     ` Theodore Tso
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-04  2:12   ` 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
2008-06-25 22:18 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=20080920074312.GR5811@disturbed \
    --to=david@fromorbit.com \
    --cc=adilger@sun.com \
    --cc=akpm@linuxfoundation.org \
    --cc=chris.mason@oracle.com \
    --cc=hch@infradead.org \
    --cc=jamie@shareable.org \
    --cc=joern@logfs.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mfasheh@suse.com \
    --cc=mtk.manpages@gmail.com \
    --cc=tytso@mit.edu \
    /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).