Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 21F4918E9C for ; Fri, 29 May 2015 14:55:30 +0000 (UTC) Received: (qmail 84888 invoked by uid 500); 29 May 2015 14:55:30 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 84836 invoked by uid 500); 29 May 2015 14:55:29 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 84826 invoked by uid 99); 29 May 2015 14:55:29 -0000 Received: from Unknown (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 May 2015 14:55:29 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 2992A182399 for ; Fri, 29 May 2015 14:55:29 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.101 X-Spam-Level: X-Spam-Status: No, score=-0.101 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=visualsvn.com Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id D3xKgNvmhFXd for ; Fri, 29 May 2015 14:55:23 +0000 (UTC) Received: from mail-lb0-f176.google.com (mail-lb0-f176.google.com [209.85.217.176]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id 8F9462054F for ; Fri, 29 May 2015 14:55:22 +0000 (UTC) Received: by lbbuc2 with SMTP id uc2so50193890lbb.2 for ; Fri, 29 May 2015 07:54:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visualsvn.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=27dWi8VqkhSKqUGpjyoZqXgX2IWJ70hM1jUFNlmYhyg=; b=NzG+gmSBqsXedt0c56VRK4qz28efvERIAykYm6hDAPovea5UmyS2ZiALiJmbybrMHq ZoVKatxOV1hMUQxakAtPLMIIM44fCF6+boQXx3yfIrKGUr1qhYGlNQgTEz0og+cNGI2l yc1oVreytzQS0wVMBS5F7S7C83bTKwIkeqivc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=27dWi8VqkhSKqUGpjyoZqXgX2IWJ70hM1jUFNlmYhyg=; b=A1S8HthRRQU0Riu0BPcJ781PhXTB1WaY6OSZk+yap5OLdM3rJyEkqTvtmOSEYagQnU OE0lx3vIfRfazLDgxTOI4CCVyaITqFBEQeLcnY3yUp2pYdzF7Fsa/doBrD0sKG/O4NQf c7q1NoaTZ47t7RMwaPvruRQeGzTGjHMv56B0b4jzzRypyqAmbbFE+rCcP27UyfadRWJ/ ffZ9erA/enkdJuDyoG9vDuDywAk3uSFfFcVH6poT0uobzXH+fz1YazlbJf7njxSm4kri 31wBUIsIA1T6HXMBDY1UCBB2XwCPgS/NaTDvWS9oJkl3LZcHu20tZ1uWtf6zXNnQ4wv7 Q4Fw== X-Gm-Message-State: ALoCoQlz54nAPyqEDnup7rE1k4SCnrSQCbsmJ105B7f2KpUtT5xTaQPgNHfYQcYOn9yqLqV3Ia3l X-Received: by 10.112.130.129 with SMTP id oe1mr8173966lbb.37.1432911276069; Fri, 29 May 2015 07:54:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.124.146 with HTTP; Fri, 29 May 2015 07:54:15 -0700 (PDT) In-Reply-To: References: <20150528154555.D1D0BAC06F9@hades.apache.org> <556781e4.4934c20a.3e9c.025a@mx.google.com> From: Evgeny Kotkov Date: Fri, 29 May 2015 17:54:15 +0300 Message-ID: Subject: Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c To: Stefan Fuhrmann Cc: Bert Huijben , =?UTF-8?Q?Branko_=C4=8Cibej?= , Ivan Zhakov , "dev@subversion.apache.org" , Stefan Fuhrmann Content-Type: text/plain; charset=UTF-8 Stefan Fuhrmann writes: > However, it does not tell you anything about consistency with outside > parties, say some svnsync'ed repository. The problem is that Windows may > end up not persisting the rename (of e.g. the 'current' file) after telling > the client that the commit got through and a new revision number is > available. [...] > The two problems are mentioned: The first one is that rename itself is > obviously not persistet, e.g. the 'current' file may show the old contents > even after the server send a "commit done, new rev available" to the client. > > To reproduce: Have a "busy" server setup, do lots of commits, record HEAD > revs returned to the client on the client, pull the plug on the server and > compare HEAD on server vs. HEAD on client. In some cases, the latter should > be higher. [...] This reproduction contradicts with what I see in code. Is it a blind guess? Did you try it with this patch and without it? Our current code doesn't use the svn_fs_fs__move_into_place() when updating the db/current file contents, so I don't see how it could possibly fix the aforementioned problem. Do we *really* have a reproducible problem with single-volume renames on Windows? If there is a problem with how we handle cross-volume moves, then we should fix it, but perhaps not with doing a huge amount of unnecessary CreateFile() and FlushFileBuffers() calls in a common case in order to solve an edge case. Regards, Evgeny Kotkov