bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: coreutils-6.4: mv(1), rename(2) and 9p


From: sqweek
Subject: Re: coreutils-6.4: mv(1), rename(2) and 9p
Date: Fri, 5 Jan 2007 21:13:57 +0900

On 1/5/07, Paul Eggert <address@hidden> wrote:
sqweek <address@hidden> writes:

> -      if (errno != EXDEV)
> +      if (errno != EXDEV && errno != EPERM)

This would cause 'mv' to fail to conform to POSIX.

Quoting from copy.c (just above the patch):
     /* WARNING: there probably exist systems for which an inter-device
        rename fails with a value of errno not handled here.
        If/as those are reported, add them to the condition below.
        If this happens to you, please do the following and send the output
        to the bug-reporting address (e.g., in the output of cp --help):
          touch k; perl -e 'rename "k","/tmp/k" or print "$!(",$!+0,")\n"'
        where your current directory is on one partion and /tmp is the other.
        Also, please try to find the E* errno macro name corresponding to
        the diagnostic and parenthesized integer, and include that in your
        e-mail.  One way to do that is to run a command like this
          find /usr/include/. -type f \
            | xargs grep 'define.*\<E[A-Z]*\>.*\<18\>' /dev/null
        where you'd replace `18' with the integer in parentheses that
        was output from the perl one-liner above.
        If necessary, of course, change `/tmp' to some other directory.  */
     if (errno != EXDEV)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]