Re: rename(2) errno processing

2010-10-14 Thread Matt McCutchen
On Sat, 2010-09-25 at 22:52 -0400, Matt McCutchen wrote: > I have filed a request to clarify the meaning of ENOTDIR for all > syscalls: > > http://austingroupbugs.net/view.php?id=324 The interpretation of ENOTDIR as referring only to existing non-directory files has been accepted, so the UWIN beh

Re: rename(2) errno processing

2010-09-25 Thread Matt McCutchen
On Sat, 2010-09-25 at 11:46 -0700, Wayne Davison wrote: > On Sat, Sep 25, 2010 at 9:38 AM, Matt McCutchen wrote: > > > POSIX is unclear about whether walking a path where a non-final component > > is missing is allowed to return ENOTDIR. > > > > Yes, posix may be unclear, but I don't think this a

Re: rename(2) errno processing

2010-09-25 Thread Wayne Davison
On Sat, Sep 25, 2010 at 9:38 AM, Matt McCutchen wrote: > POSIX is unclear about whether walking a path where a non-final component > is missing is allowed to return ENOTDIR. > Yes, posix may be unclear, but I don't think this alternate interpretation is useful when a much better interpretation ex

Re: rename(2) errno processing

2010-09-25 Thread Matt McCutchen
On Sat, 2010-09-25 at 09:09 -0700, Wayne Davison wrote: > I believe that ENOTDIR should only be returned if some component in the path > exists but is not a directory. If the path is not fully there, it should > instead return ENOENT. POSIX is unclear about whether walking a path where a non-fina

Re: rename(2) errno processing

2010-09-25 Thread Wayne Davison
On Thu, Sep 23, 2010 at 6:20 AM, Jeff Fellin wrote: > The backup test was failing because it didn't create a subdirectory. In > tracing the code I realized the problem was in robust_move() in backup.c. > UWIN returns ENOTDIR, when the rename(2) is called when a directory > component is not in the

rename(2) errno processing

2010-09-23 Thread Jeff Fellin
Hello, I've been porting rsync-3.0.7 to run on UWIN, an AT&T Labs open source project, supporting a Unix environment on Windows. The code configured easily and compiled without any modifications or ifdef's added to the code. The backup test was failing because it didn't create a subdirectory. I