[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature
- From: Alasdair G Kergon <agk redhat com>
- To: Takashi Sato <t-sato yk jp nec com>
- Cc: axboe kernel dk, mtk manpages googlemail com, linux-kernel vger kernel org, xfs oss sgi com, Christoph Hellwig <hch infradead org>, dm-devel redhat com, viro ZenIV linux org uk, linux-fsdevel vger kernel org, Andrew Morton <akpm linux-foundation org>, linux-ext4 vger kernel org
- Subject: Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature
- Date: Thu, 3 Jul 2008 13:47:10 +0100
On Thu, Jul 03, 2008 at 09:11:05PM +0900, Takashi Sato wrote:
> If the freezer accesses the frozen filesystem and causes a deadlock,
> the above ideas can't solve it
But you could also say that if the 'freezer' process accesses the frozen
filesystem and deadlocks then that's just a bug and that userspace code
should be fixed and there's no need to introduce the complexity of a
timeout parameter.
> >Similarly if a device-mapper device is involved, how should the following
> >sequence behave - A, B or C?
> >
> >1. dmsetup suspend (freezes)
> >2. FIFREEZE
> >3. FITHAW
> >4. dmsetup resume (thaws)
> [...]
> >C:
> > 1 succeeds, freezes
> > 2 fails, remains frozen
> > 3 fails (because device-mapper owns the freeze/thaw), remains frozen
> > 4 succeeds, thaws
>
> I think C is appropriate and the following change makes it possible.
> How do you think?
The point I'm trying to make here is:
Under what real-world circumstances might multiple concurrent freezing
attempts occur, and which of A, B or C (or other variations) would be
the most appropriate way of handling such situations?
A common example is people running xfs_freeze followed by an lvm command
which also attempts to freeze the filesystem.
I can see a case for B or C, but personally I prefer A:
> > 1 succeeds, freezes
> > 2 succeeds, remains frozen
> > 3 succeeds, remains frozen
> > 4 succeeds, thaws
Alasdair
--
agk redhat com
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]