You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
(6) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(31) |
Jun
(5) |
Jul
(3) |
Aug
(1) |
Sep
|
Oct
|
Nov
(13) |
Dec
(2) |
| 2006 |
Jan
|
Feb
(15) |
Mar
(4) |
Apr
(1) |
May
|
Jun
(9) |
Jul
(6) |
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
(5) |
Dec
(19) |
| 2007 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(14) |
Sep
(9) |
Oct
(13) |
Nov
(3) |
Dec
|
| 2008 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(10) |
Jul
(20) |
Aug
(3) |
Sep
(7) |
Oct
(12) |
Nov
(5) |
Dec
(16) |
| 2009 |
Jan
|
Feb
|
Mar
(2) |
Apr
(5) |
May
(4) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(13) |
Feb
|
Mar
|
Apr
|
May
(19) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(6) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(3) |
Oct
|
Nov
(1) |
Dec
(1) |
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Mark H. <mar...@we...> - 2022-09-27 00:49:40
|
Hi. Anyone here? I looked at the archives but it looks like no one has
posted since 2018. Is this the right place to ask this question?
My MacOS Catalina host runs QEMU 7.1.0 to start a guest running Debian
Bullseye (stable). In the guest, I mount the host filesystem using 9p. I
also mount my Google Drive virtual volume from the host in the same way,
since there are only 3rd-party sync tools for Linux.
I discovered something interesting when I moved a directory in Google Drive
from the guest commandline. If I move a directory on the host side, the
host Google Drive widget reports that the directory is being moved, and it
does not upload all the files again. However, when I moved a directory
from the guest, it copied on the host instead of moving. This caused the
host Google Drive widget to delete the original directory and upload all
the files again. This results in metadata loss because those files are new
on Google Drive, and I can no longer rewind them.
I wouldn't know whether 9p is issuing a copy command on the host side, or
whether it actually copies on the guest side and then sends the new file
copies back to the host.
Is it possible to issue a 'move' command to the source mount if the
destination is within the same mount, which would result in moving the file
on the source side rather than copying?
I currently use the following options to start QEMU in the MacOS host:
qemu-system-x86_64 \
-enable-kvm \
-m 8G \
-device qemu-xhci \
-device virtio-gpu-pci \
-display default,show-cursor=on \
-full-screen \
-vga virtio \
-usb \
-device usb-tablet \
-smp 4 \
-cpu host \
-machine type=q35,accel=hvf \
-rtc base=utc,clock=host \
-audiodev coreaudio,id=snd0 \
-device intel-hda,id=snd,msi=on \
-device hda-output,id=snd-codec0,bus=snd.0,cad=0,audiodev=snd0 \
-object rng-random,id=rng0,filename=/dev/urandom \
-device virtio-rng-pci,rng=rng0 \
-device virtio-serial-pci \
-virtfs
'local,path=/Users/hedges,security_model=passthrough,mount_tag=mac_hedges' \
-virtfs 'local,path=/Volumes/GoogleDrive/My
Drive,security_model=passthrough,mount_tag=gdrive' \
-drive file=bullseye-02.qcow2,if=virtio
These are my mount options in the Linux guest:
mac_hedges /home/hedges/9p/mac_hedges 9p
_netdev,trans=virtio,version=9p2000.u,msize=104857600 0 0
gdrive /home/hedges/9p/GDrive-WV 9p
_netdev,trans=virtio,version=9p2000.u,msize=104857600 0 0
Thanks
Mark
|
|
From: Linus L. <lin...@c0...> - 2018-12-02 01:30:39
|
Hi,
I'm having the following interesting issue where I'm able to
create, write to and modify files within a KVM gust, with the
directory/rootfs provided via v9fs. However, I'm unable to
delete any file from within the KVM guest.
I have a VM where the rootfs is created in the following way:
KVM-Host:
- A directory $somedir on an ext4 filesystem serving as a rootfs template
-> a tmpfs mapped on top of $somedir via overlayfs
This overlayed directory is then provided as the rootfs for the
KVM guest.
Here an example of the "rm" failing with
"rm: cannot remove 'somefile': No such file or directory".
While "ls"/"stat"/"cat" still having no issue to find and read
the file:
==========
guest:# cd testdir
guest:~/testdir# ls
guest:~/testdir# echo hello > somefile
guest:~/testdir# cat somefile
hello
guest:~/testdir# ls -la somefile
-rw-r--r-- 1 root root 6 Dec 2 00:39 somefile
guest:~/testdir# stat somefile
File: somefile
Size: 6 Blocks: 1 IO Block: 8192 regular file
Device: 12h/18d Inode: 85885836 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-12-02 00:39:49.000000000 +0100
Modify: 2018-12-02 00:39:46.000000000 +0100
Change: 2018-12-02 00:39:46.000000000 +0100
Birth: -
guest:~/testdir# echo there >> somefile
guest:~/testdir# ls -la somefile
-rw-r--r-- 1 root root 12 Dec 2 00:40 somefile
guest:~/testdir# cat somefile
hello
there
guest:~/testdir# stat somefile
File: somefile
Size: 12 Blocks: 1 IO Block: 8192 regular file
Device: 12h/18d Inode: 85885836 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-12-02 00:40:23.000000000 +0100
Modify: 2018-12-02 00:40:14.000000000 +0100
Change: 2018-12-02 00:40:14.000000000 +0100
Birth: -
guest:~/testdir# echo bye > somefile
guest:~/testdir# cat somefile
bye
guest:~/testdir# ls -la somefile
-rw-r--r-- 1 root root 4 Dec 2 00:40 somefile
guest:~/testdir# stat somefile
File: somefile
Size: 4 Blocks: 1 IO Block: 8192 regular file
Device: 12h/18d Inode: 85885836 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-12-02 00:40:49.000000000 +0100
Modify: 2018-12-02 00:40:45.000000000 +0100
Change: 2018-12-02 00:40:45.000000000 +0100
Birth: -
guest:~/testdir# rm somefile
rm: cannot remove 'somefile': No such file or directory
guest:~/testdir# ls -la somefile
-rw-r--r-- 1 root root 4 Dec 2 00:40 somefile
guest:~/testdir# stat somefile
File: somefile
Size: 4 Blocks: 1 IO Block: 8192 regular file
Device: 12h/18d Inode: 85885836 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-12-02 00:40:49.000000000 +0100
Modify: 2018-12-02 00:40:45.000000000 +0100
Change: 2018-12-02 00:40:45.000000000 +0100
Birth: -
guest:~/testdir# cat somefile
bye
==========
I can however still delete the file via the hypervisor:
==========
host:# mount | grep overlay
overlay on /tmp/vm-1/target/overlay type overlay (rw,relatime,lowerdir=/home/tux/mesh-node,upperdir=/tmp/vm-1/target/tmp/rw,workdir=/tmp/vm-1/target/tmp/work)
host:# cd /tmp/vm-1/target/overlay/root/testdir
host:# ls -la
total 4
drwxr-xr-x 2 root root 60 Dec 2 00:39 .
drwx------ 1 root root 120 Dec 2 00:39 ..
-rw-r--r-- 1 root root 4 Dec 2 00:40 somefile
host:# stat somefile
File: somefile
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 2fh/47d Inode: 85885834 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-12-02 00:40:49.494398126 +0100
Modify: 2018-12-02 00:40:45.806336246 +0100
Change: 2018-12-02 00:40:45.806336246 +0100
Birth: -
host:# rm somefile
host:# ls -la
total 0
drwxr-xr-x 2 root root 40 Dec 2 00:43 .
drwx------ 1 root root 120 Dec 2 00:39 ..
==========
And then it is gone in the KVM guest, too:
==========
guest:~/testdir# ls -la
total 1
drwxr-xr-x 2 root root 40 Dec 2 00:43 .
drwx------ 1 root root 120 Dec 2 00:39 ..
==========
The KVM guest runs a Debian unstable with a self-compiled Linux 4.20-rc4.
The KVM hypervisor runs a Debian stable 4.9.82 kernel shipped by
Debian.
host:# uname -a
Linux krtek 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
guest:# uname -a
Linux Linus-Debian 4.20.0-rc4+ #1 SMP Sat Dec 1 23:33:15 CET 2018 x86_64 GNU/Linux
The KVM guest is spawned with the following arguments relevant to
v9fs:
kvm \
[...]
-fsdev local,security_model=passthrough,id=fsdev-root,path=$TMP/target/overlay \
-device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=virtfs_root \
-fsdev local,security_model=none,id=fsdev-home,path=${HOME} \
-device virtio-9p-pci,id=fs-home,fsdev=fsdev-home,mount_tag=homeshare \
-fsdev local,security_model=none,id=fsdev-lab,path=$LABDIR \
-device virtio-9p-pci,id=fs-lab,fsdev=fsdev-lab,mount_tag=labshare \
[...]
-append "slub_debug kmemleak=on console=ttyS0 uts=$i root=virtfs_root rootflags=trans=virtio,version=9p2000.u ro rootfstype=9p net.ifnames=1" \
[...]
(changing the security_model for fsdev-root to "none" did not seem to help)
For the full KVM guest initialization see the following setup script:
https://metameute.de/~tux/linux/9p/rm-issues/kvm-launcher.sh.txt
The full kernel config of the KVM host and guest can be found here:
https://metameute.de/~tux/linux/9p/rm-issues/config-4.9.0-6-amd64.txt
https://metameute.de/~tux/linux/9p/rm-issues/config-4.20.0-rc4.txt
And here is some dmesg output from the KVM guest:
https://metameute.de/~tux/linux/9p/rm-issues/dmesg-kvm-guest.txt
Let me know if there is any additional information I should provide.
Regards, Linus
|
|
From: redneb8888 <red...@gm...> - 2018-11-22 20:22:27
|
Hi *,
I've been using 9p for quite some time now as way to share a directory
to qemu. The directory is passed to qemu as read-only and the it is
overlayed by a local read-write directory inside the vm to make it
writable. This setup used to work just fine until 4.18 (for the guest)
but starting with 4.19 does not work anymore. Both the host and guest
run linux. Here's a minimal example to reproduce this:
In the host (as a non-root user):
mkdir /tmp/test
echo test > /tmp/test/test-file
sudo chown root /tmp/test/test-file # this is needed
qemu-system-x86_64 [..] -virtfs
local,security_model=none,mount_tag=test,path=/tmp/test,readonly
In the guest (as root):
mkdir -p /tmp/test/{host,work,local,merged}
mount -t 9p -o ro,trans=virtio,version=9p2000.L test /tmp/test/host
mount -t overlay -o
lowerdir=/tmp/test/host,upperdir=/tmp/test/local,workdir=/tmp/test/work
overlay /tmp/test/merged
cat /tmp/test/merged/test-file
The last line fails:
cat: /tmp/test/merged/test-file: Operation not permitted
strace reveals that the problem happens when the file is opened:
openat(AT_FDCWD, "/tmp/test/merged/test-file", O_RDONLY) = -1
EPERM (Operation not permitted)
On the other hand, if we try to read from the lower dir directly (i.e.
/tmp/test/host/test-file), it succeeds.
|
|
From: Hongzhi, S. <hon...@wi...> - 2018-09-13 11:02:19
|
Hi all, Could merge the patch to master? --Hongzhi On 2018年09月09日 22:55, Jim Garlick wrote: > Thanks for the patch! > > I opened an github issue to track it: > https://github.com/chaos/diod/issues/44 > > Regards, > Jim > On Sun, Sep 9, 2018 at 1:19 AM Hongzhi, Song <hon...@wi...> wrote: >> ping >> >> Best Regard, >> >> --Hongzhi >> >> >> On 2018年09月05日 14:39, Hongzhi.Song wrote: >>> Error: >>> diod/ops.c:845: undefined reference to `makedev' >>> >>> Fixed: >>> Glibc removes sys/sysmacros.h which defines makedev from sys/types.h >>> since v2.28. [Commit ID: e16deca62e16f] >>> >>> And then glibc suggestions us to include <sys/sysmacros.h> directly if >>> code needs it. >>> >>> Signed-off-by: Hongzhi.Song <hon...@wi...> >>> --- >>> diod/ops.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/diod/ops.c b/diod/ops.c >>> index 7812420..28ec80d 100644 >>> --- a/diod/ops.c >>> +++ b/diod/ops.c >>> @@ -74,6 +74,7 @@ >>> #include <pthread.h> >>> #include <errno.h> >>> #include <sys/types.h> >>> +#include <sys/sysmacros.h> >>> >>> #ifdef __FreeBSD__ >>> #if !__BSD_VISIBLE |
|
From: Hongzhi, S. <hon...@wi...> - 2018-09-09 08:19:22
|
ping Best Regard, --Hongzhi On 2018年09月05日 14:39, Hongzhi.Song wrote: > Error: > diod/ops.c:845: undefined reference to `makedev' > > Fixed: > Glibc removes sys/sysmacros.h which defines makedev from sys/types.h > since v2.28. [Commit ID: e16deca62e16f] > > And then glibc suggestions us to include <sys/sysmacros.h> directly if > code needs it. > > Signed-off-by: Hongzhi.Song <hon...@wi...> > --- > diod/ops.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/diod/ops.c b/diod/ops.c > index 7812420..28ec80d 100644 > --- a/diod/ops.c > +++ b/diod/ops.c > @@ -74,6 +74,7 @@ > #include <pthread.h> > #include <errno.h> > #include <sys/types.h> > +#include <sys/sysmacros.h> > > #ifdef __FreeBSD__ > #if !__BSD_VISIBLE |
|
From: Hongzhi.Song <hon...@wi...> - 2018-09-05 06:41:00
|
Error: diod/ops.c:845: undefined reference to `makedev' Fixed: Glibc removes sys/sysmacros.h which defines makedev from sys/types.h since v2.28. [Commit ID: e16deca62e16f] And then glibc suggestions us to include <sys/sysmacros.h> directly if code needs it. Signed-off-by: Hongzhi.Song <hon...@wi...> --- diod/ops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/diod/ops.c b/diod/ops.c index 7812420..28ec80d 100644 --- a/diod/ops.c +++ b/diod/ops.c @@ -74,6 +74,7 @@ #include <pthread.h> #include <errno.h> #include <sys/types.h> +#include <sys/sysmacros.h> #ifdef __FreeBSD__ #if !__BSD_VISIBLE -- 2.8.1 |
|
From: piaojun <pi...@hu...> - 2018-07-11 02:32:13
|
Hi, I download the diod code and want to compile it, but encounter error when run ./autogen.sh as below. Could someone help figured out it? OS: Centos 7.3 linux-BtAgaG:/home/code/diod-master # ./configure configure: error: cannot find install-sh, install.sh, or shtool in config "."/config linux-BtAgaG:/home/code/diod-master # ./autogen.sh Running aclocal ... /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:13: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file autom4te: /usr/bin/m4 failed with exit status: 1 aclocal: error: echo failed with exit status: 1 Running autoheader ... /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file autom4te: /usr/bin/m4 failed with exit status: 1 autoheader: '/usr/bin/autom4te' failed with exit status: 1 Running automake ... /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file autom4te: /usr/bin/m4 failed with exit status: 1 automake: error: autoconf failed with exit status: 1 Running autoconf ... /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:4: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file /usr/bin/m4:configure.ac:120: Warning: excess arguments to builtin `m4_esyscmd' ignored sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file autom4te: /usr/bin/m4 failed with exit status: 1 Cleaning up ... mv: cannot stat ‘aclocal.m4’: No such file or directory Now run ./configure to configure diod for your environment. Thanks, Jun |
|
From: sqweek <sq...@gm...> - 2018-03-16 21:19:50
|
On 16 March 2018 at 07:45, Stephen Mell <st...@me...> wrote: > Hi, > > Is there is any prospect of support for using named pipes and Unix domain > sockets over a 9p mount? I assume you mean exporting a 9p filesystem to other clients and then using fifos/domain sockets hosted on that filesystem to facilitate communication between the client(s) and file server. I'm not a v9fs developer but I'm going to go with "no prospect" - the reason being the constructs in question are kernel IPC mechanisms. Pipes and unix sockets are local communication methods by their very nature. It's the same story on nfs or any other network filesystem I've seen - you can host unix socket files on them, but they represent a different logical socket for each host using the file. There's no communication between the kernels involved to know that the other kernels are using the same network path. As far as 9p is concerned, such a feature is completely unnecessary. In its purest form 9p doesn't even know what fifos or unix sockets are; it just has files and directories. But its simplistic concept of "file" transcends regular disk files and fifos; 9p files can represent either. Ie. the functionality that (I think) you're talking about is already built into 9p. No need for fifos or unix sockets, you just need a 9p server which facilitates pipe style communications. eg. https://9p.io/wiki/plan9/hubfs/index.html -sqweek |
|
From: Stephen M. <st...@me...> - 2018-03-15 23:45:14
|
Hi, Is there is any prospect of support for using named pipes and Unix domain sockets over a 9p mount? My attempts with diod and the kernel's v9fs didn't succeed, but it seems like a feature that would open a lot of possibilities and be very much in line with the Plan 9 philosophy. I'm rather ignorant of 9p, 9p support in Linux, and diod, but I'd appreciate any insight. Thanks for your time, Stephen |
|
From: Jim G. <gar...@gm...> - 2016-04-19 14:53:28
|
Hi Daniel, Thanks for the work on diod! Please submit your work as a PR to https://github.com/chaos/diod and we can iterate from there. Regards, Jim On Tue, Apr 19, 2016 at 7:24 AM, Daniel Vérité <dv...@gm...> wrote: > Hi, > > I've been tasked to port the diod server to FreeBSD 10.1, in order to mount > FreeBSD partitions from remote linux clients with 9pfs. > > Attached is the diff of the port. If there is interest in merging it > into the baseline, please let me know. > It's also available on https://github.com/dverite/diod > > Aside from utils/diodmount which doesn't compile, but is outside the scope > of this port, the rest seems to work OK. > > Summary of the diff: > > - deal with lack of dirent.d_off on FreeBSD > - make xattr* functions essentially no-ops > - skip prctl() and setrlimit() > - some differences in struct statfs > - some mount options lacking > - replace SOL_TCP by IPPROTO_TCP > - use linux value for errno EOPNOTSUPP > > Regards, > -- > Daniel Vérité > > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications > Manager > Applications Manager provides deep performance insights into multiple > tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > V9fs-users mailing list > V9f...@li... > https://lists.sourceforge.net/lists/listinfo/v9fs-users > > |
|
From: Daniel V. <dv...@gm...> - 2016-04-19 14:24:50
|
Hi, I've been tasked to port the diod server to FreeBSD 10.1, in order to mount FreeBSD partitions from remote linux clients with 9pfs. Attached is the diff of the port. If there is interest in merging it into the baseline, please let me know. It's also available on https://github.com/dverite/diod Aside from utils/diodmount which doesn't compile, but is outside the scope of this port, the rest seems to work OK. Summary of the diff: - deal with lack of dirent.d_off on FreeBSD - make xattr* functions essentially no-ops - skip prctl() and setrlimit() - some differences in struct statfs - some mount options lacking - replace SOL_TCP by IPPROTO_TCP - use linux value for errno EOPNOTSUPP Regards, -- Daniel Vérité |
|
From: Andreas W. <and...@lo...> - 2015-11-02 22:07:08
|
Hello, I am writing a 9P server for my Teensy 3.1 running mecrisp-stellaris (Forth) and mounting on Linux 4.3.0-rc7 (NixOS) On mount I have gotten through: Version -> Attach -> Stat -> Clunk sudo ./forthfs /dev/ttyUSB0 115200 ~/mnt/teensy mount says: mount: mount /dev/ttyUSB0 on /home/andreas/mnt/teensy failed: Bad address Sounds like an EFAULT (reading memory that is inaccessible??) I wonder if anyone has any clues or thoughts as to why this isn't working. I have tried many things, but to no avail. I am just not seeing something. I have a feeling that the problem may be with Rstat. Also, I am not getting the Tauth message I was expecting. Does v9fs currently support authentication for trans=fd? Here is my currently crude beginnings of a 9p server for those who understand some Forth: http://hub.darcs.net/pointfree/ForthFS/browse/fs.4th ...and the C program I am using to mount with trans_fd: http://hub.darcs.net/pointfree/ForthFS/browse/forthfs.c Some ftrace output for the mount attempt: http://pastebin.com/EyJptfAZ Any tips are much appreciated. Thank you! Andreas |
|
From: Sven G. <li...@fu...> - 2015-08-25 09:28:08
|
Hello,
here is what I got so far:
My diskless Linux client (using p9fs as ro-root fs) works with the
following limitations:
1. The server needs to be able to lookup the uid of client users otherwise
uid2user in diof will fail (see below). This is not a showstopper because
a working workaround would be to intgrate the server into ldap.
2. System is very slow (rougly twice the time compared to NFS).
3. Trying to enable cache=loose or cache=fscache on the client site will
give me lots of funny errors (permission denied, unknown user, ...) which
do not seem to make sense and an unusable system. This might have to do
with my setup which uses aufs to make up a client specific /etc
directory. But this is just a wild guess.
2. and 3. are likely related and somewhat of a showstopper. Startup time
doubles from 30s to 60s on my desktop PC.
1. can probably be solved by changing my diod configuration
Here is what I currently have:
--cut--
listen = { "10.1.7.7:9999" }
exports = {
{ path="/clients/dists/jessie", opts="ro,noauth" },
{ path="/clients/dists/wheezy", opts="ro,noauth" }
}
nwthreads = 32
--cut--
Using this I get the following if a user does not exist on the server:
diod: P9_TATTACH tag 1 fid 1673 afid -1 uname '' aname '/clients/dists/jessie' n_uname 15005
diod: uid2user: unable to lookup 15005
Fiddling with the following options:
userdb, allsquash, squashuser
I was unable to make an attach work at all. I always get this:
diod: P9_TATTACH tag 1 fid 0 afid -1 uname 'nobody' aname '/clients/dists/jessie' n_uname P9_NONUNAME
diod: attach(no...@te...d:/clients/dists/jessie): user lookup: Operation not permitted
Regards
Sven
--
Exploits and holes are a now a necessary protection against large
corporate interests. (Alan Cox)
/me is giggls@ircnet, http://sven.gegg.us/ on the Web
|
|
From: Jim G. <ga...@ll...> - 2015-08-24 16:55:37
|
Hi Sven,
I think .L passes uid/gid information on the wire numerically and
there is no facility for remapping uids at the server in diod,
other than primitive squashing.
You would export a file system readonly with something like
this in your diod.conf:
exports = {
{ path="/server/path", opts="ro,privport,noauth" }
}
I don't think root is squashed by default but I would need to dig a
little deeper to find out. Let me know if you are still stuck and I
will do that.
Jim
On Mon, Aug 24, 2015 at 11:39:32AM -0500, Eric Van Hensbergen wrote:
> I'm going to tie in the diod guys who might be able to better help you
> with configuration on that end...
>
>
>
> On Mon, Aug 24, 2015 at 9:01 AM, Sven Geggus
> <li...@fu...> wrote:
> > Eric Van Hensbergen schrieb am Montag, den 24. August um 14:13 Uhr:
> >
> >> Perhaps I missed something, but why not use diod and 9p2000.L? .u should
> >> work for most things if you have an exact uid/gid mapping and can run the
> >> server as root, however .L was designed to be closer to posix/Linux API so
> >> more should work...
> >
> > Looks like I did not understand correctly, that 9p2000.L seems to be a
> > superset of 9p2000.U and not the other way round (which I thought).
> >
> > So, the problem of my current test-setup is not suid binaries, but
> > missing userid-mapping ob the server (which was not needed for my
> > ro nfs3-server with no_root_squash) but seems to be needed for diod.
> >
> > I did not yet suceed yet in setting up diod in the nfs-server way:
> > no_root_squash, ro
> >
> > Is there a way to get around having the server getting added to ldap like
> > with NFS3 using userids only?
> >
> > Regards
> >
> > Sven
> >
> > --
> > Das allgemeine Persönlichkeitsrecht (Art. 2 Abs.1 i.V.m. Art.1 Abs. 1GG)
> > umfasst das Grundrecht auf Gewährleistung der Vertraulichkeit und Integrität
> > informationstechnischer Systeme. (BVerfG, 1BvR 370/07)
> > /me is giggls@ircnet, http://sven.gegg.us/ on the Web
>
> ------------------------------------------------------------------------------
> _______________________________________________
> V9fs-users mailing list
> V9f...@li...
> https://lists.sourceforge.net/lists/listinfo/v9fs-users
|
|
From: Eric V. H. <er...@gm...> - 2015-08-24 16:39:58
|
I'm going to tie in the diod guys who might be able to better help you with configuration on that end... On Mon, Aug 24, 2015 at 9:01 AM, Sven Geggus <li...@fu...> wrote: > Eric Van Hensbergen schrieb am Montag, den 24. August um 14:13 Uhr: > >> Perhaps I missed something, but why not use diod and 9p2000.L? .u should >> work for most things if you have an exact uid/gid mapping and can run the >> server as root, however .L was designed to be closer to posix/Linux API so >> more should work... > > Looks like I did not understand correctly, that 9p2000.L seems to be a > superset of 9p2000.U and not the other way round (which I thought). > > So, the problem of my current test-setup is not suid binaries, but > missing userid-mapping ob the server (which was not needed for my > ro nfs3-server with no_root_squash) but seems to be needed for diod. > > I did not yet suceed yet in setting up diod in the nfs-server way: > no_root_squash, ro > > Is there a way to get around having the server getting added to ldap like > with NFS3 using userids only? > > Regards > > Sven > > -- > Das allgemeine Persönlichkeitsrecht (Art. 2 Abs.1 i.V.m. Art.1 Abs. 1GG) > umfasst das Grundrecht auf Gewährleistung der Vertraulichkeit und Integrität > informationstechnischer Systeme. (BVerfG, 1BvR 370/07) > /me is giggls@ircnet, http://sven.gegg.us/ on the Web |
|
From: Sven G. <li...@fu...> - 2015-08-24 14:01:32
|
Eric Van Hensbergen schrieb am Montag, den 24. August um 14:13 Uhr: > Perhaps I missed something, but why not use diod and 9p2000.L? .u should > work for most things if you have an exact uid/gid mapping and can run the > server as root, however .L was designed to be closer to posix/Linux API so > more should work... Looks like I did not understand correctly, that 9p2000.L seems to be a superset of 9p2000.U and not the other way round (which I thought). So, the problem of my current test-setup is not suid binaries, but missing userid-mapping ob the server (which was not needed for my ro nfs3-server with no_root_squash) but seems to be needed for diod. I did not yet suceed yet in setting up diod in the nfs-server way: no_root_squash, ro Is there a way to get around having the server getting added to ldap like with NFS3 using userids only? Regards Sven -- Das allgemeine Persönlichkeitsrecht (Art. 2 Abs.1 i.V.m. Art.1 Abs. 1GG) umfasst das Grundrecht auf Gewährleistung der Vertraulichkeit und Integrität informationstechnischer Systeme. (BVerfG, 1BvR 370/07) /me is giggls@ircnet, http://sven.gegg.us/ on the Web |
|
From: Eric V. H. <er...@gm...> - 2015-08-24 12:13:29
|
Perhaps I missed something, but why not use diod and 9p2000.L? .u should work for most things if you have an exact uid/gid mapping and can run the server as root, however .L was designed to be closer to posix/Linux API so more should work... On Mon, Aug 24, 2015 at 5:24 AM Sven Geggus <li...@fu...> wrote: > Hello, > > after some recent trouble with root-fs on NFS I am evaluating p9fs as an > Alternative. The root-fs should be served in a readonly mode. > > However, this does not seem to work as expected. > > I suppose I would need 9p2000.U for this (to make suid-binaries work) - > right? > > In my current test-setup I have stranges issues with them (login with > anything but root is impossible). > > If so, is there a Server (for Linux) like diod which does support 9p2000.U? > > The other problem I have is with caching. Currently my test-setup does seem > to work only with caching disabled. Is this supposed to work with caching > enabled on a read-only mutli diskless-client setup. > > Disabled caching gives me a performance impact of about 2/3 compared to > running the system via NFS from the same machine. > > Regrads > > Sven > > -- > Exploits and holes are a now a necessary protection against large > corporate interests. (Alan Cox) > > /me is giggls@ircnet, http://sven.gegg.us/ on the Web > > > ------------------------------------------------------------------------------ > _______________________________________________ > V9fs-users mailing list > V9f...@li... > https://lists.sourceforge.net/lists/listinfo/v9fs-users > |
|
From: Sven G. <li...@fu...> - 2015-08-24 10:24:09
|
Hello, after some recent trouble with root-fs on NFS I am evaluating p9fs as an Alternative. The root-fs should be served in a readonly mode. However, this does not seem to work as expected. I suppose I would need 9p2000.U for this (to make suid-binaries work) - right? In my current test-setup I have stranges issues with them (login with anything but root is impossible). If so, is there a Server (for Linux) like diod which does support 9p2000.U? The other problem I have is with caching. Currently my test-setup does seem to work only with caching disabled. Is this supposed to work with caching enabled on a read-only mutli diskless-client setup. Disabled caching gives me a performance impact of about 2/3 compared to running the system via NFS from the same machine. Regrads Sven -- Exploits and holes are a now a necessary protection against large corporate interests. (Alan Cox) /me is giggls@ircnet, http://sven.gegg.us/ on the Web |
|
From: Ryo M. <ryo...@gm...> - 2015-06-17 10:52:40
|
Hi all. I'm developing a 9P2000.L server library written in Rust. Most functionalities are implemented. So I started implementing a simple file server by using this 9P2000.L library. The problem is: v9fs sends a Txattrwalk request to the server on the beginning of executing a file. Currently this simple file server returns Rlerror with ENOSYS against any xattr operations. Therefore executing a file (execve) results ENOSYS. Because I don't know much about POSIX ACL and want to keep this example file server simple, I don't want to implement Rxattrwalk and Rxattrcreate. I found CONFIG_9P_FS_POSIX_ACL (which is enabled on Arch Linux). Disabling this option will disable ACL, but this also means I have to recompile all the kernels which run v9fs. Is there any way to disable POSIX ACL even if CONFIG_9P_FS_POSIX_ACL=y. Reading fs/9p/v9fs.c, 'posixacl' mount options doesn't seem to work for this purpose. Thank you. -- Ryo Munakata <ryo...@gm...> |
|
From: Pascal d'H. <pa...@dh...> - 2015-04-24 12:50:02
|
Btw, I've documented how set up the kvm 9p-virtio folder sharing in this blog post: https://pascalandreas.wordpress.com/2015/04/24/setting-up-kvm-shared-directory-in-ubuntu-14-04/ Best regards Pascal Den 24-04-2015 kl. 12:49 skrev Pascal d'Hermilly: > Hi > I'd like to mount a 9p share on a client with all files belonging a UID/GID. But I'm not getting it to work. > > I use 9p on my kvm virtualization to share a folder from host to guest. I want the guests www-data user to have the proper file system rights. > I've tried things like > mount -t 9p -o trans=virtio,version=9p2000.u,access=any,dfltuid=33,dfltgid=33 /commonshare /mnt/test > both 9p2000.u and L, but I keep getting the file permissions that is present on the host side. > > Root has no problem writing to the folder, but I want the www-data (33) user to have these permissions as well. > With sshfs it's an option like uid=33,gid=33. > What am I doing wrong? > > Best regards > Pascal > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > V9fs-users mailing list > V9f...@li... > https://lists.sourceforge.net/lists/listinfo/v9fs-users |
|
From: Pascal d'H. <pa...@dh...> - 2015-04-24 11:06:05
|
Hi I'd like to mount a 9p share on a client with all files belonging a UID/GID. But I'm not getting it to work. I use 9p on my kvm virtualization to share a folder from host to guest. I want the guests www-data user to have the proper file system rights. I've tried things like mount -t 9p -o trans=virtio,version=9p2000.u,access=any,dfltuid=33,dfltgid=33 /commonshare /mnt/test both 9p2000.u and L, but I keep getting the file permissions that is present on the host side. Root has no problem writing to the folder, but I want the www-data (33) user to have these permissions as well. With sshfs it's an option like uid=33,gid=33. What am I doing wrong? Best regards Pascal |
|
From: Jim G. <gar...@gm...> - 2014-05-19 15:07:12
|
Alin, Thanks very much for the detailed bug report - most certainly a diod bug. I will follow up with you in the google code issue. Regards, JIm On Mon, May 19, 2014 at 3:36 AM, Alin Dobre <ali...@el...>wrote: > Hello, > > I have also filled this bug as issue #122 [1]. We are trying to use diod > to access remote filesystems and run container technology on top of it. > My tests were made on the very latest stable kernel (3.14.4) and > diod-1.0.15 (the first version with support for extended attributes), > 1.0.20 (the latest stable) and the master branch on github (which > contains 3-4 more commits than 1.0.20). All these versions are crashing > when trying to run a container [2] on top of it. The backtrace looks as > follows: > #0 0x00007f604673220b in raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37 > #1 0x000000000041a4c8 in np_assfail (ass=ass@entry=0x428ef7 "rc != > NULL", file=file@entry=0x428e6d "srv.c", line=line@entry=754) at srv.c:898 > #2 0x000000000041b614 in np_req_respond (req=0x7f60300008c0, rc=0x0) at > srv.c:754 > #3 0x000000000041c00d in np_postprocess_request (rc=0x0, > req=0x7f60300008c0) at srv.c:695 > #4 np_wthread_proc (a=0x7f6030001520) at srv.c:735 > #5 0x00007f604672a182 in start_thread (arg=0x7f602effd700) at > pthread_create.c:312 > #6 0x00007f604645730d in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 > > Which seems to be quite in the low level functions of diod. The core > dump and debug log are attached to the bug report. > > I also noticed the diod server crashes when trying to rsync the whole > filesystem (I have tested this with an Ubuntu 14 install, too), when the > rsync process tries to access some of the files in /usr/share/zoneinfo. > I don't have an exact process to reproduce, I can come back with more > details, if needed. > > Thank you for any insight around this issue. > > Cheers, > Alin. > > [1] https://code.google.com/p/diod/issues/detail?id=122 > [2] https://github.com/arachsys/containers.git > > > ------------------------------------------------------------------------------ > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE > Instantly run your Selenium tests across 300+ browser/OS combos. > Get unparalleled scalability from the best Selenium testing platform > available > Simple to use. Nothing to install. Get started now for free." > http://p.sf.net/sfu/SauceLabs > _______________________________________________ > V9fs-users mailing list > V9f...@li... > https://lists.sourceforge.net/lists/listinfo/v9fs-users > |
|
From: Alin D. <ali...@el...> - 2014-05-19 11:04:50
|
Hello, I have also filled this bug as issue #122 [1]. We are trying to use diod to access remote filesystems and run container technology on top of it. My tests were made on the very latest stable kernel (3.14.4) and diod-1.0.15 (the first version with support for extended attributes), 1.0.20 (the latest stable) and the master branch on github (which contains 3-4 more commits than 1.0.20). All these versions are crashing when trying to run a container [2] on top of it. The backtrace looks as follows: #0 0x00007f604673220b in raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37 #1 0x000000000041a4c8 in np_assfail (ass=ass@entry=0x428ef7 "rc != NULL", file=file@entry=0x428e6d "srv.c", line=line@entry=754) at srv.c:898 #2 0x000000000041b614 in np_req_respond (req=0x7f60300008c0, rc=0x0) at srv.c:754 #3 0x000000000041c00d in np_postprocess_request (rc=0x0, req=0x7f60300008c0) at srv.c:695 #4 np_wthread_proc (a=0x7f6030001520) at srv.c:735 #5 0x00007f604672a182 in start_thread (arg=0x7f602effd700) at pthread_create.c:312 #6 0x00007f604645730d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Which seems to be quite in the low level functions of diod. The core dump and debug log are attached to the bug report. I also noticed the diod server crashes when trying to rsync the whole filesystem (I have tested this with an Ubuntu 14 install, too), when the rsync process tries to access some of the files in /usr/share/zoneinfo. I don't have an exact process to reproduce, I can come back with more details, if needed. Thank you for any insight around this issue. Cheers, Alin. [1] https://code.google.com/p/diod/issues/detail?id=122 [2] https://github.com/arachsys/containers.git |
|
From: sqweek <sq...@gm...> - 2014-03-07 08:20:32
|
On 7 March 2014 14:36, sqweek <sq...@gm...> wrote: > I see some read() syscalls fail with ERESTARTSYS when the system is > suspended (eg. strace cat /dev/input/mice). p9_client_rpc seems to > take this as a signal to cancel the pending rpc? And, since the userspace server has already been frozen at this point, it cannot read the flush request and the send blocks? *If* the 9pnet kernel thread is freezable (which is not the default), I think that using wait_event_freezable() instead of wait_event_interruptible() will allow the system to sleep by delaying the RFlush until we wake up again (and the userspace server soon unfreezes). Whether the stream continues after this depends on how the server reacts to the RFlush, and how the kernel reacts to the ERESTARTSYS... -sqweek |
|
From: sqweek <sq...@gm...> - 2014-03-07 06:36:24
|
On 7 March 2014 11:43, Eric Van Hensbergen <er...@gm...> wrote: > What's the right behavior? I don't know anything about the details of suspend/hibernate at all, but my expectation would be that the read syscall gets frozen, and resumes where it left off when the system resumes. > What if the file server is on a remote system? Then I imagine the read will fail when the system wakes up and the transport is broken. > Probably need to see a more detailed trace from the client code and maybe > the server. It seems like it thinks someone interrupted the outstanding > transaction and so it trying to send a 9p flush message that isn't being > handled well (perhaps by the unix transport?). I'd be curious to see if you > get the same behavior over TCP or not. It's not the unix socket itself that is the problem; if I replace "cat /tmp/plumb/web" with "9p read plumb/web" then it suspends to ram fine, and the stream continues uninterrupted when the system resumes. Serving via TCP makes no difference, the system still fails to suspend. I also see this behaviour with 9pfuse, so v9fs is not alone. However I don't think this can be a fundamental limitation of the linux VFS layer, as the blocking read from 9p *does* work across suspend-resume... I see some read() syscalls fail with ERESTARTSYS when the system is suspended (eg. strace cat /dev/input/mice). p9_client_rpc seems to take this as a signal to cancel the pending rpc? -sqweek |