Cory Riddell <c...@codeware.com> writes:

> The more I dig, the less certain I am of what's going on.
>
> I made a small program that does what svn_io_remove_file2() does.
>
> Snippet   const char* path_to_nonexistent_file =
> "\\\\Diskstation\\svn\\MyRepo\\db\\rev-prop-atomics.shm";
>   apr_status_t apr_err = apr_file_remove(path_to_nonexistent_file, NULL);
>   TRACE(_T("apr_err = %d\n"), apr_err);
>   TRACE(_T("APR_STATUS_IS_ENOENT = %d\n"), APR_STATUS_IS_ENOENT(apr_err));
>
>   apr_status_t status = apr_file_attrs_set(path_to_nonexistent_file,
>       0,
>       APR_FILE_ATTR_READONLY,
>       0);
>   TRACE(_T("status = %d\n"), status);
>
>   apr_err = apr_file_remove(path_to_nonexistent_file, NULL);
>   TRACE(_T("apr_err = %d\n"), apr_err);
>   TRACE(_T("APR_STATUS_IS_ENOENT = %d\n"), APR_STATUS_IS_ENOENT(apr_err));
>
> And the output is:
>
>   apr_err = 720005
>   APR_STATUS_IS_ENOENT = 0
>   status = 720002
>   apr_err = 720002
>   APR_STATUS_IS_ENOENT = 1

Thank you very much for your efforts.  Could you please post a trace for a
non-existing path, but not for the one ending with rev-prop-atomics.shm?
Try "\MyRepo\db\should-not-ever-exist" and maybe "\MyRepo\this-one-too".

I cannot see a reason for rev-prop-atomics.shm to be created in the hotcopy
destination, but this file has some history and we do have a particularly
related change in 1.8.11 (r1543594 and others).  So, this is just to be sure
we are not missing something here.

Given the strange behavior with an ERROR_ACCESS_DENIED followed by the
ERROR_FILE_NOT_FOUND, personally, I would be also interested in seeing
the Process Monitor [2] logs for this operation.

[1] http://svn.apache.org/repos/asf/subversion/tags/1.8.11/CHANGES
[2] http://technet.microsoft.com/en-us/sysinternals/bb896645


Regards,
Evgeny Kotkov

Reply via email to