Re: 3.4.0beta2 crash in conservative merge?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/26/2013 01:05 PM, Emmanuel Dreyfus wrote:
Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:

See my other post: it crashes on line 818, because local->fd is NULL..
Since it was used at line 804 without crashing, it must be a race
conditon.

I do not really know what I am doing, but I am trying this:

--- xlators/cluster/dht/src/dht-helper.c.orig   2013-05-26 09:29:52.000000000 +0200
+++ xlators/cluster/dht/src/dht-helper.c        2013-05-26 09:30:47.000000000 +0200
@@ -798,17 +798,8 @@

          local->cached_subvol = dst_node;
          ret = 0;

-        /* once we detect the migration complete, the fd-ctx is no more
-           required.. delete the ctx, and do one extra 'fd_unref' for open fd */
-        ret = fd_ctx_del (local->fd, this, NULL);
-        if (!ret) {
-                fd_unref (local->fd);
-                ret = 0;
-                goto out;
-        }
-
          /* perform open as root:root. There is window between linkfile
           * creation(root:root) and setattr with the correct uid/gid
           */
          SYNCTASK_SETID(0, 0);
@@ -834,8 +825,17 @@
                          local->loc.path, dst_node->name);
                  goto out;
          }

+        /* once we detect the migration complete, the fd-ctx is no more
+           required.. delete the ctx, and do one extra 'fd_unref' for open fd */
+        ret = fd_ctx_del (local->fd, this, NULL);
+        if (!ret) {
+                fd_unref (local->fd);
+                ret = 0;
+                goto out;
+        }
+


This patch in master could address the problem:

http://review.gluster.org/#/c/4974

Can you please check if it does and we can then have a backport to release-3.4?

Thanks,
Vijay




[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux