Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-25 Thread Ivan Zhakov
On 24 June 2015 at 10:41, Branko Čibej wrote: > On 23.06.2015 19:29, Ivan Zhakov wrote: >> >> I've prepared a patch that fixes svn_io_file_rename() to consistently >> return error for cross volume renames on Windows using platform >> specific code. See svn-rename-no-copy-allowed-v1.patch.txt. >> R

RE: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-24 Thread Bert Huijben
> -Original Message- > From: Branko Čibej [mailto:br...@wandisco.com] > Sent: woensdag 24 juni 2015 09:41 > To: dev@subversion.apache.org > Subject: Re: svn commit: r1682265 - > /subversion/trunk/subversion/libsvn_fs_fs/util.c > The rest of the patch looks good.

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-24 Thread Branko Čibej
On 24.06.2015 09:41, Branko Čibej wrote: > On 23.06.2015 19:29, Ivan Zhakov wrote: >> I've prepared a patch that fixes svn_io_file_rename() to consistently >> return error for cross volume renames on Windows using platform >> specific code. See svn-rename-no-copy-allowed-v1.patch.txt. >> Review/tes

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-24 Thread Branko Čibej
On 23.06.2015 19:29, Ivan Zhakov wrote: > > I've prepared a patch that fixes svn_io_file_rename() to consistently > return error for cross volume renames on Windows using platform > specific code. See svn-rename-no-copy-allowed-v1.patch.txt. > Review/testing will be really appreciated since it cont

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-23 Thread Ivan Zhakov
On 28 May 2015 at 19:52, Ivan Zhakov wrote: > On 28 May 2015 at 19:25, Stefan Fuhrmann wrote: >> On Thu, May 28, 2015 at 5:54 PM, Ivan Zhakov wrote: >>> >>> On 28 May 2015 at 18:45, wrote: >>> > Author: stefan2 >>> > Date: Thu May 28 15:45:55 2015 >>> > New Revision: 1682265 >>> > >>> > URL: h

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-06-12 Thread Stefan Fuhrmann
On Fri, May 29, 2015 at 4:54 PM, Evgeny Kotkov wrote: > 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' fil

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-29 Thread Evgeny Kotkov
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 n

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-29 Thread Ivan Zhakov
On 28 May 2015 at 20:50, Bert Huijben wrote: >> -Original Message- >> From: Philip Martin [mailto:philip.mar...@wandisco.com] >> Sent: donderdag 28 mei 2015 19:34 >> To: Ivan Zhakov >> Cc: Stefan Fuhrmann; Subversion Development; Stefan Fuhrman >&g

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-29 Thread Ivan Zhakov
On 28 May 2015 at 20:33, Philip Martin wrote: > Ivan Zhakov writes: > >> I meant to add platform specific code to svn_io_file_rename() to also >> fail with EXDEV on Windows for cross-volume copies. > > Will that go as far as supporting all the MoveFile, MoveFileW, > MoveFileEx, MoveFileExW varian

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-29 Thread Ivan Zhakov
On 28 May 2015 at 23:55, Bert Huijben wrote: > In this case the log message documented that it fixed ‘a problem on > Windows’, which would suggest at least some Windows testing > [[ > Correctly fsync() after renames in FSFS on Win32. We must flush the disk > buffers after the rename, otherwise th

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Stefan Fuhrmann
On Thu, May 28, 2015 at 10:55 PM, Bert Huijben wrote: > > In this case the log message documented that it fixed ‘a problem on Windows’, > which would suggest at least some Windows testing No, it does not. The problems were sublte but could be deduced from reading the source code alone (I wondere

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Bert Huijben
In this case the log message documented that it fixed ‘a problem on Windows’, which would suggest at least some Windows testing [[ Correctly fsync() after renames in FSFS on Win32. We must flush the disk buffers after the rename, otherwise the metadata may not be persistent. Moreover, if the

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Branko Čibej
On 28 May 2015 6:54 pm, "Ivan Zhakov" wrote: > > >> Did > >> you able to reproduce data corruption on VM? > > > > > > No. But I did not even try. > > > I really hope that you have tested your patch on Windows before commit. I really hope you're joking. We've never required or expected testing on

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Stefan Fuhrmann
On Thu, May 28, 2015 at 6:52 PM, Ivan Zhakov wrote: > On 28 May 2015 at 19:25, Stefan Fuhrmann > wrote: > > On Thu, May 28, 2015 at 5:54 PM, Ivan Zhakov wrote: > >> > >> On 28 May 2015 at 18:45, wrote: > >> > Author: stefan2 > >> > Date: Thu May 28 15:45:55 2015 > >> > New Revision: 1682265 >

RE: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Bert Huijben
> -Original Message- > From: Philip Martin [mailto:philip.mar...@wandisco.com] > Sent: donderdag 28 mei 2015 19:34 > To: Ivan Zhakov > Cc: Stefan Fuhrmann; Subversion Development; Stefan Fuhrman > Subject: Re: svn commit: r1682265 - > /subversion/trunk/subversio

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Philip Martin
Ivan Zhakov writes: > The svn_io_file_moves() catches EXDEV and perform copy to temp + > rename on all platforms, while svn_fs_fs__move_into_place() on Windows > doesn't. It relies to the fact that svn_io_file_rename() never fails > in Windows, which is should be fixed imo. If we fix svn_io_file

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Philip Martin
Ivan Zhakov writes: > I meant to add platform specific code to svn_io_file_rename() to also > fail with EXDEV on Windows for cross-volume copies. Will that go as far as supporting all the MoveFile, MoveFileW, MoveFileEx, MoveFileExW variants? Odd that the APR devs specifically requested Windows

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Ivan Zhakov
On 28 May 2015 at 20:11, Philip Martin wrote: > Ivan Zhakov writes: > >> 1. Make svn_io_file_name() consistently return error for cross volume >> renames by fixing APR or using platform specific code. >> 2. For all platforms handle APR_STATUS_IS_EXDEV() like this: copy file >> to temporary file i

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Philip Martin
Ivan Zhakov writes: > 1. Make svn_io_file_name() consistently return error for cross volume > renames by fixing APR or using platform specific code. > 2. For all platforms handle APR_STATUS_IS_EXDEV() like this: copy file > to temporary file in the same folder as destination and then rename > it.

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Ivan Zhakov
On 28 May 2015 at 19:25, Stefan Fuhrmann wrote: > On Thu, May 28, 2015 at 5:54 PM, Ivan Zhakov wrote: >> >> On 28 May 2015 at 18:45, wrote: >> > Author: stefan2 >> > Date: Thu May 28 15:45:55 2015 >> > New Revision: 1682265 >> > >> > URL: http://svn.apache.org/r1682265 >> > Log: >> > Correctly

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Stefan Fuhrmann
On Thu, May 28, 2015 at 5:54 PM, Ivan Zhakov wrote: > On 28 May 2015 at 18:45, wrote: > > Author: stefan2 > > Date: Thu May 28 15:45:55 2015 > > New Revision: 1682265 > > > > URL: http://svn.apache.org/r1682265 > > Log: > > Correctly fsync() after renames in FSFS on Win32. We must flush the di

Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c

2015-05-28 Thread Ivan Zhakov
On 28 May 2015 at 18:45, wrote: > Author: stefan2 > Date: Thu May 28 15:45:55 2015 > New Revision: 1682265 > > URL: http://svn.apache.org/r1682265 > Log: > Correctly fsync() after renames in FSFS on Win32. We must flush the disk > buffers after the rename, otherwise the metadata may not be persi