[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111130111657.GA4541@quack.suse.cz>
Date: Wed, 30 Nov 2011 12:16:57 +0100
From: Jan Kara <jack@...e.cz>
To: Mikulas Patocka <mpatocka@...hat.com>
Cc: Jan Kara <jack@...e.cz>, Alasdair G Kergon <agk@...hat.com>,
esandeen@...hat.com, Surbhi Palande <csurbhi@...il.com>,
linux-kernel@...r.kernel.org, dm-devel@...hat.com,
linux-fsdevel@...r.kernel.org,
Christopher Chaltain <christopher.chaltain@...onical.com>,
Valerie Aurora <val@...consulting.com>
Subject: Re: [dm-devel] [PATCH] deadlock with suspend and quotas
On Wed 30-11-11 01:52:22, Mikulas Patocka wrote:
> > > dm-ioctl.h:
> > > /*
> > > * Set this to avoid attempting to freeze any filesystem when suspending.
> > > */
> > > #define DM_SKIP_LOCKFS_FLAG (1 << 10) /* In */
> > Thanks. I was now checking in detail and indeed FIFREEZE fails if
> > ->freeze_fs is not set. And only xfs, ext3, ext4, reiserfs, jfs, nilfs2,
> > and gfs2 provide this function. So I was correct in assuming that when
> > filesystem supports FIFREEZE it must make sure no modifications happen to
> > the filesystem. So I believe that my original plan for sync to skip frozen
> > filesystem is correct.
> >
> > Honza
>
> LVM doesn't suspend with FIFREEZE, it calls freeze_bdev directly from
> drivers/md/dm.c (and it works for all filesystems, including ext2).
Ah, I see. Sorry I missed this. But then I can only reiterate that
drivers/md/dm.c is IMHO broken. Either it cares about filesystem being
really frozen - and then it should refuse the operation for e.g. ext2
because it cannot be frozen - or it does not care about filesystem being
frozen and then there's no point in calling freeze_super(). Possibly, you
might still want to e.g. try snapshotting even if freeze_super() would
return EOPNOTSUPP but that should be handled inside dm, not by errorneously
marking filesystem as frozen when it is not. Or am I still missing
something?
> So if you skip sync of frozen filesystems, you introduce a data
> corruption if someone takes a snapshot of ext2.
Yes, because ext2 cannot really be frozen, it is (errorneously) marked
as such but it is not frozen...
Honza
--
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
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