Skip to contentSkip to conversation

lvcreate - race condition creating snapshots

linux-lvm Robert Valentan 2 participants 2 messages Jun 10, 2006 – Jun 11, 2006

lore
Share & tools
lore
#0 lore raw

I think, there is a race condition in lvcreate while makeing a new snapshot.

System: Tyan with 2 Opteron 246

        xen 3.0.2-3
        linux 2.6.16.13
        lvm 2.02.07
        3ware-Raid 9550 Raid5

Under xen i was unable to create a snapshot, I got always "LV system/snap in use: not deactivating". Without xen, i got occasionally a snapshot.

After i make a "dirty hack":
------ begin ----------
*** old/lvcreate.c 2006-06-10 19:22:37.000000000 +0200
--- lvcreate.c 2006-06-10 19:23:04.000000000 +0200
***************
*** 776,781 ****
--- 776,787 ----

                /* Reset permission after zeroing */
                if (!(lp->permission & LVM_WRITE))
                        lv->status &= ~LVM_WRITE;
+
+                 { struct timeval tv ;
+                   tv.tv_sec=10;
+                   tv.tv_usec=0;
+                   select(2, 0, 0, 0, &tv);
+                 }
                if (!deactivate_lv(cmd, lv)) {
                        log_err("Couldn't deactivate new snapshot.");
                        return 0;

------ end ---------

i got always a snapshot (on all 3 systems!). I think, there is an other thread which is creating the new lv, and it will take longer as the lvcreate will "think". I have to less knowledge to make a patch, which is waiting for the correct event (creating lv complete).

Signature · 2 lines
regards
Robert Valentan
#1 lore raw
Quoted 9 lines · Robert Valentan

I think, there is a race condition in lvcreate while makeing a new snapshot.

System: Tyan with 2 Opteron 246

       xen 3.0.2-3
       linux 2.6.16.13
       lvm 2.02.07
       3ware-Raid 9550 Raid5

Under xen i was unable to create a snapshot, I got always "LV system/snap in use: not deactivating". Without xen, i got occasionally a snapshot.

<..>

Quoted 1 line

i got always a snapshot (on all 3 systems!). I think, there is an other thread which is creating the new lv, and it will take longer as the lvcreate will "think". I have to less knowledge to make a patch, which is waiting for the correct event (creating lv complete).

Are you running udev, perchance?

Try reading the thread entitled "Problem creating snapshots with 2.6.16.9 and LVM 2.02.06", and refer to the following Debian bug:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343671

In the bug history, there's debate if it's a problem with LVM or udev, although your mail seems to indicate LVM. :)

(Note that I've also been having this problem for awhile, and the udev "hack" seems to resolve it..)

------------------------------------------------------------------------

| nate carlson | [email protected] | http://www.natecarlson.com |
|       depriving some poor village of its idiot since 1981            |

------------------------------------------------------------------------