bug-guix
[Top][All Lists]
Advanced

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

bug#43062: --expose in vm does not reflect file modifications in guest


From: elaexuotee
Subject: bug#43062: --expose in vm does not reflect file modifications in guest
Date: Thu, 27 Aug 2020 11:04:47 +0900
User-agent: mblaze/0.7

## Overview

When using --expose to mirror a path between host and guest, the guest mirror
fails to reflect file modifications from the host. However, file creation and
deletion are correctly propogated.

To pick up file modifications in the guest, it is sufficient to remount
mirroring 9p filesystem.

Is this behaviour expected?


## Reproduction

The following should be sufficient to reproduce the issue:

Create a container and expose a path:

    host$ guix system --expose /some/path vm.scm
    /gnu/store/<hash>-run-vm.sh

Spin up the vm:

    host$ /gnu/store/<hash>-run-vm.sh

From the host, create a new file under /some/path, and check that the guest
sees this file:

    host$ touch /some/path/test
    guest$ cat /some/path/test
    <file is empty>

Now change the contents of this file on the host, and verify that the guest
does not see the change:

    host$ echo foo >/some/path/test
    guest$ cat /some/path/test
    <file is empty>

Finally, remount the filesystem at /some/path, and see that the guest now picks
up the changes:

    guest$ sudo mount -o remount,ro /some/path
    guest$ cat /some/path/test
    foo


## Version Information

    $ guix describe
    Generation 123      Aug 25 2020 23:19:12    (current)
      guix 253fcfe
        repository URL: https://git.savannah.gnu.org/git/guix.git
        branch: master
        commit: 253fcfe6fec8fb9d70cde8623fe562dc3ca67262

    $ cat vm.scm
    (use-modules (gnu))
    (use-service-modules networking ssh)
    (use-package-modules admin linux ncurses tmux)
    
    (operating-system
      (host-name "fmadio")
      (timezone "Asia/Tokyo")
      (locale "en_US.utf8")
    
      (bootloader (bootloader-configuration (bootloader #f) (target #f)))
      (kernel linux-libre-4.9)
      (file-systems %base-file-systems)
      (users (cons (user-account
                     (name "x")
                     (password (crypt "x" "Jr1er07l0lOUQ95GQLijow=="))
                     (group "users")
                     (supplementary-groups '("wheel")))
                   %base-user-accounts))
      (packages (cons* ncurses tcpdump tmux %base-packages))
      (services (cons* (service dhcp-client-service-type)
                       (service openssh-service-type)
                       %base-services)))


## Notes

In the above, I am running linux-libre@4.9 in the guest, but another user on
#guix confirmed the issue with linux-libre@5.8. The same user reported seeing
the following after modifying the host file and remounting in the guest:

    guest$ cat /some/path/test
    [   49.263620] FS-Cache: Duplicate cookie detected
    [   49.263644] FS-Cache: O-cookie c=00000000fe189610 [p=000000004224ad86 
fl=226 nc=0 na=1]
    [   49.263664] FS-Cache: O-cookie d=0000000023080181 n=00000000825c3154
    [   49.263680] FS-Cache: O-key=[8] 'c3f51c0500000000'
    [   49.263695] FS-Cache: N-cookie c=00000000c11e31c7 [p=000000004224ad86 
fl=2 nc=0 na=1]
    [   49.263715] FS-Cache: N-cookie d=0000000023080181 n=00000000dad562d4
    [   49.263731] FS-Cache: N-key=[8] 'c3f51c0500000000'
    foo

Attachment: signature.asc
Description: PGP signature


reply via email to

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