head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.6 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.4 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.2 pkgsrc-2011Q4-base:1.2; locks; strict; comment @# @; 1.2 date 2011.11.28.14.58.45; author manu; state dead; branches; next 1.1; 1.1 date 2011.11.28.08.42.39; author manu; state Exp; branches; next ; desc @@ 1.2 log @Remove two patches being idempotent together. I do not bump PKGREVISION, as the result is the same. @ text @$NetBSD: patch-bz,v 1.1 2011/11/28 08:42:39 manu Exp $ When a client detects a changed gfid, it means another machine replaced the node. Return ESTALE that that the stall data get flushed. This avoid having the changed node being inaccessible forever because lookups still return the old deleted node. The fix is pulled from upstream. --- xlators/protocol/client/src/client3_1-fops.c.orig 2011-11-28 05:54:38.000000000 +0100 +++ xlators/protocol/client/src/client3_1-fops.c 2011-11-28 05:59:46.000000000 +0100 @@@@ -2210,9 +2210,11 @@@@ if ((!uuid_is_null (inode->gfid)) && (uuid_compare (stbuf.ia_gfid, inode->gfid) != 0)) { gf_log (frame->this->name, GF_LOG_WARNING, "gfid changed for %s", local->loc.path); - memcpy(&stbuf.ia_gfid, &inode->gfid, sizeof(inode->gfid)); + rsp.op_ret = -1; + op_errno = ESTALE; + goto out; } rsp.op_ret = 0; @ 1.1 log @Update to glusterfs 3.2.5. This is a bug-fix release @ text @d1 1 a1 1 $NetBSD$ @