Re: [PATCH 0/10] freeze feature ver 1.13

From: Valdis . Kletnieks
Date: Fri Sep 26 2008 - 06:49:45 EST


On Fri, 26 Sep 2008 17:56:52 +0900, Takashi Sato said:

> [PATCH 1/10] VFS: Fix error handling of write_super_lockfs/unlockfs
> Changed the type of write_super_lockfs and unlockfs from "void"
> to "int" so that they can return an error.
> Rename write_super_lockfs/unlockfs of the super block operation
> freeze_fs/unfreeze_fs to avoid a confusion.
>
> [PATCH 2/10]-[PATCH 6/10] Fix error handling in write_super_lockfs/unlockfs
> (ext3, ext4, xfs, gfs2, jfs)
> Changed write_super_lockfs so that it returns an error if needed.
> unlockfs always returns 0.
>
> [PATCH 7/10] reiserfs: Fix error handling in write_super_lockfs/unlockfs
> Changed write_super_lockfs/unlockfs so that they always return
> 0 (success) to keep a current behavior.
>
> [PATCH 8/10] Implement generic freeze feature
> The ioctls for the generic freeze feature are below.
> o Freeze the filesystem
> int ioctl(int fd, int FIFREEZE, arg)
> fd: The file descriptor of the mountpoint
> FIFREEZE: request code for the freeze
> arg: Ignored
> Return value: 0 if the operation succeeds. Otherwise, -1
>
> o Unfreeze the filesystem
> int ioctl(int fd, int FITHAW, arg)
> fd: The file descriptor of the mountpoint
> FITHAW: request code for unfreeze
> arg: Ignored
> Return value: 0 if the operation succeeds. Otherwise, -1
>
> [PATCH 9/10] Remove XFS specific ioctl interfaces for freeze feature
> It removes XFS specific ioctl interfaces and request codes
> for freeze feature.
> This patch has been supplied by David Chinner.
>
> [PATCH 10/10] Add timeout feature
> The timeout feature is added to "freeze ioctl" to solve a deadlock
> when the freezer accesses a frozen filesystem. And new ioctl
> to reset the timeout period is added to extend the timeout period.
> For example, the freezer resets the timeout period to 10 seconds every 5
> seconds. In this approach, even if the freezer causes a deadlock by
> accessing the frozen filesystem, it will be solved by the timeout

Would it be a good idea to merge patch 10 into patch 8? Otherwise, there's
two issues I can see:

1) A mostly theoretical problem if a bisect lands exactly on patch 9 it can
hit the deadlock.

2) The API at patch 8 and patch 10 differs, that's going to make testing through
a bisection of this patch series a pain.

Attachment: pgp00000.pgp
Description: PGP signature