Messages in this thread | | | Date | Tue, 15 Jun 2010 09:19:43 +1000 | From | Dave Chinner <> | Subject | Re: [PATCH 1/5] fsfreeze: Prevent emergency thaw from looping infinitely |
| |
On Mon, Jun 14, 2010 at 11:18:15AM -0400, Christoph Hellwig wrote: > On Thu, Jun 10, 2010 at 05:19:50PM +1000, Dave Chinner wrote: > > Return -EINVAL when the filesystem is already unfrozen to avoid this > > problem. > > > This includes some additional changes in addition to the description, > and at least one of them seems incorrect. > > > - error = 0; > > - if (--bdev->bd_fsfreeze_count > 0) > > + if (!sb) > > goto out; > > > > - if (!sb) > > + error = 0; > > + if (--bdev->bd_fsfreeze_count > 0) > > goto out; > > Here you reorder the sb check to be before the counter decrement. But > we do support calling freeze_bdev on a device without a superblock, and > you would leak bd_fsfreeze_count for that case and wrongly return > -EINVAL on unthaw for these now.
Ok, will fix it.
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |