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

Re: rename(2) errno processing

2010-09-25 Thread Wayne Davison
On Thu, Sep 23, 2010 at 6:20 AM, Jeff Fellin j...@research.att.com 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

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-final

Re: rename(2) errno processing

2010-09-25 Thread Wayne Davison
On Sat, Sep 25, 2010 at 9:38 AM, Matt McCutchen m...@mattmccutchen.netwrote: 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

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 m...@mattmccutchen.netwrote: 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

rename(2) errno processing

2010-09-23 Thread Jeff Fellin
Hello, I've been porting rsync-3.0.7 to run on UWIN, an ATT 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.