Re: [PATCH 4/5] swsusp: fix error paths in snapshot_open

From: Pavel Machek
Date: Tue Mar 20 2007 - 18:16:44 EST


Hi!

> We forget to increase device_available if there's an error in
> snapshot_open(), so the snapshot device cannot be open at all after
> snapshot_open() has returned an error.

Actually, this should go to the beggining of series, as it is
(non-critical) bugfix.

Pavel
> @@ -49,12 +49,14 @@ static int snapshot_open(struct inode *i
> if (!atomic_add_unless(&device_available, -1, 0))
> return -EBUSY;
>
> - if ((filp->f_flags & O_ACCMODE) == O_RDWR)
> + if ((filp->f_flags & O_ACCMODE) == O_RDWR) {
> + atomic_inc(&device_available);
> return -ENOSYS;
> -
> - if(create_basic_memory_bitmaps())
> + }
> + if(create_basic_memory_bitmaps()) {
> + atomic_inc(&device_available);
> return -ENOMEM;
> -
> + }
> nonseekable_open(inode, filp);
> data = &snapshot_state;
> filp->private_data = data;

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/