[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs cannot write file in a Virtual Box shared folder
From: |
Bernardo |
Subject: |
Re: Emacs cannot write file in a Virtual Box shared folder |
Date: |
Wed, 23 Oct 2019 21:07:35 +1100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Robert Pluim <rpluim@gmail.com> writes:
>>>>>> On Mon, 21 Oct 2019 20:22:04 +1100, Bernardo <bernardo.bacic@pobox.com>
>>>>>> said:
>
> Bernardo> Greetings,
>
> Bernardo> Running GNU Emacs in Debian (9.11) VM guest under VirtualBox
> host (6.0.14) running on Windows 10 box.
> Bernardo> (hope all this makes sense)
>
> Bernardo> Am having problems editing files located in a Virtual Box shared
> Bernardo> directory. The directory is owned by root but members of
> 'vboxsf'
> Bernardo> group have read/write/execute rights. Emacs user is a member of
> Bernardo> 'vboxsf' group.
>
> Bernardo> $ groups
> Bernardo> some_user cdrom sudo audio <snip> bluetooth vboxsf
>
> Bernardo> The (old) version of Emacs that comes with Debian reads/writes
> files ok;
> Bernardo> GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
> of 2017-09-12 on hullmann, modified by Debian
>
> Bernardo> The version of Emacs that's built from Git repos cannot write
> Bernardo> file. Also by default it opens the file in read-only mode.
> Bernardo> GNU Emacs 27.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
> 3.22.11) of 2019-10-21
>
> Bernardo> Debugger entered--Lisp error: (file-error "Unlocking file"
> "Operation not permitted" "/media/sf_Home/zz_stuff")
> Bernardo> write-region(nil nil "/media/sf_Home/zz_stuff" nil t
> "/media/sf_Home/zz_stuff")
> Bernardo> basic-save-buffer-2()
> Bernardo> basic-save-buffer-1()
> Bernardo> basic-save-buffer(t)
> Bernardo> save-buffer(1)
> Bernardo> funcall-interactively(save-buffer 1)
> Bernardo> call-interactively(save-buffer nil nil)
> Bernardo> command-execute(save-buffer)
>
> Looks like emacs is trying to create/delete a lockfile, and
> failing. Does /media/sf_Home support symlinks?
>
> You can work around this temporarily by customizing 'create-lockfiles'
> to nil, but then emacs won't detect if youʼre editing the same file
> from a different emacs session.
>
> Robert
>
Thanks Robert and Eli.
You were spot on, the symlinks cannot be created on this file system,
vboxsf, which seems to be a layer on top of NTFS.
$ mount | grep sf_Home
Home on /media/sf_Home type vboxsf (rw,nodev,relatime,<snip>
$ ln -s zz_stuff my_link
ln: failed to create symbolic link 'my_link': Operation not permitted
Will be reporting this as a bug, the manual says:
(1) If your file system does not support symbolic links, a regular
file is used.
M-: (info "(emacs) Interlocking") RET
It looks like the old version of Emacs (24.5.1) was creating lock files
elsewhere and not in the directory where the edited file is located.
--
cheers