Re: [PATCH] e2fsprogs: error checking in blkid/devname.c

Theodore Tso
2008-02-22T13:17:27Z

On Thu, Feb 21, 2008 at 04:10:17PM -0600, Eric Sandeen wrote:
> This is for RH Bugzilla #433857:
> rpc.mountd segfaults due to uninitialized value in e2fsprogs devname.c
>
> https://bugzilla.redhat.com/show_bug.cgi?id=433857
>
> which did some very helpful analysis & provided a patch.
>
> This patch is based on that, but checks all the devicemapper calls,
> and does some goto error handling / unwrapping, in the same style as
> the device-mapper lib code itself.

This looks good, but I assume that the bug was caused by some race
condition where if you try to call dm_task_get_info() while some other
process is creating or removing a snapshot, dm_task_get_info() is
returning some kind of EAGAIN, or some other "Try again; we're busy"
error, right?

If that is the case, can you try to find out what error is being
returned? It may be the right thing to do is to check to see if we
are getting a "resource is locked; try again in a sec" error message,
and retry the dm_task_get_info(), instead of just returning a failure.

Thanks!!

- Ted