[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100323231802.GL30031@ZenIV.linux.org.uk>
Date: Tue, 23 Mar 2010 23:18:03 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Nigel Cunningham <ncunningham@...a.org.au>
Cc: Josef Bacik <josef@...hat.com>, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, chris.mason@...cle.com, hch@....de
Subject: Re: [PATCH] Introduce freeze_super and thaw_super for the fsfreeze
ioctl
On Wed, Mar 24, 2010 at 09:31:51AM +1100, Nigel Cunningham wrote:
> /**
> * freeze_filesystems - lock all filesystems and force them into a
> consistent
> * state
> * @which: What combination of fuse & non-fuse to freeze.
> */
> void freeze_filesystems(int which)
> {
> struct super_block *sb;
>
> lockdep_off();
>
> /*
> * Freeze in reverse order so filesystems dependant upon others are
> * frozen in the right order (eg. loopback on ext3).
> */
[snip the horror]
a) traversing superblock list without any locking whatsoever
b) accessing superblock fields <....>
c) <.........................> without making sure that it's not
going to disappear
d) calling freeze_bdev() without any warranties that its argument
is not going to be freed under you
e) layering violations all over the place
etc.
I've stayed away from TuxOnIce flamefests and I've no idea how representative
that snippet is, but if it *does* match the general code quality in there...
Ouch.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists