ar 'unable to rename... Invalid cross-device link'
Matthew Woehlke
mw_triad@users.sourceforge.net
Wed Feb 7 17:48:00 GMT 2007
(I hope this gets through (and only once), gmane has been misbehaving
all day...)
Corinna Vinschen wrote:
> On Feb 7 11:55, Corinna Vinschen wrote:
>> On Feb 6 16:38, Matthew Woehlke wrote:
>>> ...anyone have any guesses why rename() can't rename files in the same
>>> directory, if the directory is an NFS mount? This causes 'ar' to fail
>>> with the error:
>>>
>>> ar: unable to rename 'libcloudobj.a' reason: Invalid cross-device link
>>>
>>> I see this in strace with both 'ar' and 'mv':
>>>
>>> 46 371094 [main] ar 2588 rename: -1 = rename
>>> (h:\<...path...>\src\objects\stWBl4pj,
>>> h:\<...path...>\src\objects\libcloudobj.a)
>>>
>>> This seems to happen when the file already exists, but rename() only
>>> fails on NFS mounts (not local drives). Is this a problem with 'ar', or
>>> Cygwin's rename()?
>> Since you're one of the few running NFS, you should also debug the
>> situation further. Apparently the Cygwin rename function fails, but
>> from your one-liner strace snippet there's no hint at all what happens.
>> The error should have been mentioned a couple of lines before. You
>> should also mention if you use a release version of Cygwin or a
>> developer snapshot. You know http://cygwin.com/problems.html, don't
>> you?
>
> I just installed SFU NFS for testing and, here it comes:
>
> "I can not reproduce rename failing on an NFS share."
>
> Maybe it's something with your permissions.
> http://cygwin.com/acronyms/#SHTDI2(*)
Thanks for trying. Sorry about forgetting the version info, although
(and I forgot to mention this too, more apologies...) 'ren' in cmd.com
also fails, which is why I am pretty sure the problem is that for some
unknown reason, rename() (meaning Windows' API) fails on NFS if the
target already exists, at least under whatever combinations of
permissions I have... with error 17 (ERROR_NOT_SAME_DEVICE) of all
things (which Cygwin translates to 18=EXDEV). I think the real question
is 'should ar and/or Cygwin work around this apparent Windows bug'?
D'oh! And I have more information... it only fails on Win2k3 (which
means SUA, not SFU). I just tried on my XP machine and 'ar' succeeds.
getfacl doesn't have much to say:
$ getfacl.exe .
# file: .
# owner: mwoehlke
# group: None
user::rwx
group::r-x
other:r-x
mask:rwx
Cygwin version is 1.5.24(0.156/4/2) (are any of the other package
versions really relevant?)
--
Matthew
We interrupt this e-mail to bring you a lame signature attempting to be
witty.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list