unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
@ 2013-02-12 21:51 Carsten Bormann
  2013-02-12 23:47 ` Glenn Morris
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Carsten Bormann @ 2013-02-12 21:51 UTC (permalink / raw)
  To: 13702

In dired, R (rename) a file from a local directory to an NFS mounted
directory.  The error is:

Move `/Users/cabo/demo0/y' to `/net/ull.local/Volumes/buf2b/demo1/y' failed:
(file-error Getting ACL no such file or directory /Users/cabo/demo0/y)

The file very well does exist.  *Directories* can be moved with R,
just files can't.  The file can be moved locally between directories 
or from one NFS mounted directory to another NFS mounted directory.  
Just not from a local filesystem to the NFS mounted directory 
or the other way around.  (System command "mv" succeeds.)

(Unfortunately, the error is hidden from "Enter Debugger on Error", so
I didn't investigate further.)


In GNU Emacs 24.3.50.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
 of 2013-02-01 on bob.porkrind.org
Bzr revision: 111648 michael.albinus@gmx.de-20130201072810-qnugwjqswcupa1wx
Windowing system distributor `Apple', version 10.3.1187
Configured using:
 `configure --host=x86_64-apple-darwin --build=i686-apple-darwin
 --with-ns'

Important settings:
  value of $LC_CTYPE: UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-f . <return> R / n e t / u l l .  l o c a l / V o l <tab> b u f 2
b / d e m o 1 / <return> <menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
ls does not support --dired; see `dired-use-ls-dired' for more details.
Move `/Users/cabo/demo0/y' to `/net/ull.local/Volumes/buf2b/demo1/y' failed:
(file-error Getting ACL no such file or directory /Users/cabo/demo0/y)


Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils dired-aux dired time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment lisp-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process ns multi-tty emacs)






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-12 21:51 bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)" Carsten Bormann
@ 2013-02-12 23:47 ` Glenn Morris
  2013-02-13  9:39 ` Romain Francoise
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Glenn Morris @ 2013-02-12 23:47 UTC (permalink / raw)
  To: Carsten Bormann; +Cc: 13702

Carsten Bormann wrote:

> In dired, R (rename) a file from a local directory to an NFS mounted
> directory.  The error is:
>
> Move `/Users/cabo/demo0/y' to `/net/ull.local/Volumes/buf2b/demo1/y' failed:
> (file-error Getting ACL no such file or directory /Users/cabo/demo0/y)

FWIW, works fine for me with current trunk on GNU/Linux.

> In GNU Emacs 24.3.50.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
>  of 2013-02-01 on bob.porkrind.org
> Bzr revision: 111648 michael.albinus@gmx.de-20130201072810-qnugwjqswcupa1wx





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-12 21:51 bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)" Carsten Bormann
  2013-02-12 23:47 ` Glenn Morris
@ 2013-02-13  9:39 ` Romain Francoise
  2013-02-13 16:08   ` Eli Zaretskii
  2013-02-14 22:41 ` Paul Eggert
  2013-04-07 11:27 ` bug#13702: Fixed in r112244 Romain Francoise
  3 siblings, 1 reply; 10+ messages in thread
From: Romain Francoise @ 2013-02-13  9:39 UTC (permalink / raw)
  To: Carsten Bormann; +Cc: 13702

Carsten Bormann <cabo@tzi.org> writes:

> Move `/Users/cabo/demo0/y' to `/net/ull.local/Volumes/buf2b/demo1/y' failed:
> (file-error Getting ACL no such file or directory /Users/cabo/demo0/y)

Thanks for the report. Google suggests that on Darwin, getting ENOENT from
acl_get_fd() means that the associated file doesn't have an ACL:

 http://lists.apple.com/archives/darwin-dev/2009/Jan/msg00001.html

So the following patch will probably fix things for you:

diff --git a/src/fileio.c b/src/fileio.c
index 89ad339..29c8bf5 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2090,7 +2090,7 @@ entries (depending on how Emacs was built).  */)
 
 #ifdef HAVE_POSIX_ACL
       acl = acl_get_fd (ifd);
-      if (acl == NULL && errno != ENOTSUP)
+      if (acl == NULL && errno != ENOTSUP && errno != ENOENT)
 	report_file_error ("Getting ACL", Fcons (file, Qnil));
 #endif
     }





^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-13  9:39 ` Romain Francoise
@ 2013-02-13 16:08   ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2013-02-13 16:08 UTC (permalink / raw)
  To: Romain Francoise; +Cc: cabo, 13702

> From: Romain Francoise <romain@orebokech.com>
> Date: Wed, 13 Feb 2013 10:39:20 +0100
> Cc: 13702@debbugs.gnu.org
> 
> --- a/src/fileio.c
> +++ b/src/fileio.c
> @@ -2090,7 +2090,7 @@ entries (depending on how Emacs was built).  */)
>  
>  #ifdef HAVE_POSIX_ACL
>        acl = acl_get_fd (ifd);
> -      if (acl == NULL && errno != ENOTSUP)
> +      if (acl == NULL && errno != ENOTSUP && errno != ENOENT)
>  	report_file_error ("Getting ACL", Fcons (file, Qnil));
>  #endif
>      }

Unless other platforms have the same issue, I'd suggest that the
comparison against ENOENT be conditioned on Darwin.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-12 21:51 bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)" Carsten Bormann
  2013-02-12 23:47 ` Glenn Morris
  2013-02-13  9:39 ` Romain Francoise
@ 2013-02-14 22:41 ` Paul Eggert
  2013-02-15 19:25   ` Romain Francoise
  2013-04-07 11:27 ` bug#13702: Fixed in r112244 Romain Francoise
  3 siblings, 1 reply; 10+ messages in thread
From: Paul Eggert @ 2013-02-14 22:41 UTC (permalink / raw)
  To: 13702

Many other error numbers should be checked for.
Here's what Gnulib's acl-internal.h says on the subject, right now:

/* Recognize some common errors such as from an NFS mount that does
   not support ACLs, even when local drives do.  */
#if defined __APPLE__ && defined __MACH__ /* Mac OS X */
# define ACL_NOT_WELL_SUPPORTED(Err) \
     ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == ENOENT)
#elif defined EOPNOTSUPP /* Tru64 NFS */
# define ACL_NOT_WELL_SUPPORTED(Err) \
     ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == EOPNOTSUPP)
#else
# define ACL_NOT_WELL_SUPPORTED(Err) \
     ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY)
#endif


Maybe Emacs should steal this macro.  Or we can change Gnulib
to publish it and then use the relevant Gnulib module.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-14 22:41 ` Paul Eggert
@ 2013-02-15 19:25   ` Romain Francoise
  2013-03-30 10:04     ` Romain Francoise
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Francoise @ 2013-02-15 19:25 UTC (permalink / raw)
  To: 13702

Paul Eggert <eggert@cs.ucla.edu> writes:

> Or we can change Gnulib to publish it and then use the relevant Gnulib
> module.

It looks useful for any project using ACL, so that would probably be best.
Thanks.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-02-15 19:25   ` Romain Francoise
@ 2013-03-30 10:04     ` Romain Francoise
  2013-03-30 16:52       ` Paul Eggert
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Francoise @ 2013-03-30 10:04 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 13702

Hi,

Has any progress been made towards making gnulib's ACL_NOT_WELL_SUPPORTED
macro public? If not, I'll just add a duplicated definition in Emacs.

Thanks.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)"
  2013-03-30 10:04     ` Romain Francoise
@ 2013-03-30 16:52       ` Paul Eggert
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Eggert @ 2013-03-30 16:52 UTC (permalink / raw)
  To: Romain Francoise; +Cc: 13702

On 03/30/13 03:04, Romain Francoise wrote:
> Has any progress been made towards making gnulib's ACL_NOT_WELL_SUPPORTED
> macro public? If not, I'll just add a duplicated definition in Emacs.

No progress, so a duplicate definition may be the way to go for now.
Please add a FIXME comment for it, though.  Thanks.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: Fixed in r112244
  2013-02-12 21:51 bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)" Carsten Bormann
                   ` (2 preceding siblings ...)
  2013-02-14 22:41 ` Paul Eggert
@ 2013-04-07 11:27 ` Romain Francoise
  2013-04-07 16:20   ` Eli Zaretskii
  3 siblings, 1 reply; 10+ messages in thread
From: Romain Francoise @ 2013-04-07 11:27 UTC (permalink / raw)
  To: 13702-done

This is now fixed in trunk as of revision 112244:

2013-04-07  Romain Francoise  <romain@orebokech.com>

        Ignore additional platform-specific ACL errors (Bug#13702).
        * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
        (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#13702: Fixed in r112244
  2013-04-07 11:27 ` bug#13702: Fixed in r112244 Romain Francoise
@ 2013-04-07 16:20   ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2013-04-07 16:20 UTC (permalink / raw)
  To: Romain Francoise; +Cc: 13702, cabo

> From: Romain Francoise <romain@orebokech.com>
> Date: Sun, 07 Apr 2013 13:27:18 +0200
> 
> This is now fixed in trunk as of revision 112244:
> 
> 2013-04-07  Romain Francoise  <romain@orebokech.com>
> 
>         Ignore additional platform-specific ACL errors (Bug#13702).
>         * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
>         (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.

Careful: in Emacs, HAVE_POSIX_ACL is defined on MS-Windows as well,
but the gnulib module from which you copied the macro does not support
MS-Windows, AFAICS.  I added a suitable definition for Windows.

Thanks.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-04-07 16:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-12 21:51 bug#13702: 24.3.50; dired-do-rename: Mysterious error "(file-error Getting ACL no such file or directory <existing file>)" Carsten Bormann
2013-02-12 23:47 ` Glenn Morris
2013-02-13  9:39 ` Romain Francoise
2013-02-13 16:08   ` Eli Zaretskii
2013-02-14 22:41 ` Paul Eggert
2013-02-15 19:25   ` Romain Francoise
2013-03-30 10:04     ` Romain Francoise
2013-03-30 16:52       ` Paul Eggert
2013-04-07 11:27 ` bug#13702: Fixed in r112244 Romain Francoise
2013-04-07 16:20   ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).