Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-56957

Mount disconnects after reading 1 million files

    • No
    • Moderate
    • CustomerScenariosInitiative
    • rhel-sst-virtualization-windows
    • ssg_virtualization
    • 20
    • 8
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • None
    • RegressionOnly
    • Unspecified Release Note Type - Unknown
    • x86_64
    • Windows
    • None

      What were you trying to do that didn't work?
      I have a linux host with an ext4 file system and a Windows 10 guest running on it, after reading 1 million files on the virtiofs shared dir, the mount disconnected and virtiofsd quit.

      Please provide the package NVR for which bug is seen:
      Host:
      virtiofsd-1.11.1-1.el9.x86_64
      qemu-kvm-9.0.0-3.el9.x86_64
      edk2-ovmf-20240524-2.el9.noarch
      seabios-bin-1.16.3-2.el9.noarch
      kernel-5.14.0-494.el9.x86_64

      Guest:
      Win10-64bit, build 19041
      virtio-win-prewhql-0.1-253
      winfsp-2.0.23075.msi

      How reproducible:
      2/2

      Steps to reproduce
      1. prepare a shared dir on top of ext4 on host
      dd if=/dev/zero of=./ext4_image.img bs=1M count=102400
      mkfs.ext4 ext4_image.img
      mount -o loop ext4_image.img /root/avocado/data/avocado-vt/virtio_fs_test/

      2. start virtiofsd daemon with the shared dir.
      /usr/libexec/virtiofsd --socket-path=/var/tmp/avocado-vt-vm1-fs-virtiofsd.sock -o ource=/root/avocado/data/avocado-vt/virtio_fs_test/ -o cache=auto

      3. start win10 64bit VM with qemu-kvm
      -m 16384,maxmem=20G \
      -object '

      {"size": 17179869184, "share": true, "id": "mem-mem1", "qom-type": "memory-backend-memfd", "x-use-canonical-path-for-ramblock-id":false}

      ' \
      -smp 24,maxcpus=24,cores=12,threads=1,dies=1,sockets=2 \
      -numa node,memdev=mem-mem1,nodeid=0 \
      -chardev socket,id=char_virtiofs_fs,path=/var/tmp/avocado-vt-vm1-fs-virtiofsd.sock \
      -device '

      {"id": "pcie-root-port-6", "port": 6, "driver": "pcie-root-port", "addr": "0x1.0x6", "bus": "pcie.0", "chassis": 7}

      ' \
      -device '

      {"id": "vufs_virtiofs_fs", "chardev": "char_virtiofs_fs", "tag": "myfs", "queue-size": 1024, "driver": "vhost-user-fs-pci", "bus": "pcie-root-port-6", "addr": "0x0"}

      ' \
      -device '

      {"driver": "virtio-balloon-pci", "id": "balloon0", "bus": "pcie-root-port-10", "addr": "0x0"}

      ' \

      4. create folders on shared dir
      for i in

      {1..3}

      ; do mkdir F$i; done
      cd F1 ; for i in

      {1..4}

      ; do mkdir A$i; done
      tree
      .
      ├── F1
      │ ├── A1
      │ ├── A2
      │ ├── A3
      │ └── A4
      ├── F2
      └── F3

      5. create 300k files in their subdirectories.
      for j in F2 F3; do for i in

      {1..307200}; do dd if=/dev/urandom of=./$j/file-$j-$i.txt bs=1k count=1; done; done
      for j in A1 A2 A3 A4; do for i in {1..307200}

      ; do dd if=/dev/urandom of=./F1/$j/file-$j-$i.txt bs=128 count=1; done; done

      6. inside VM, start virtiofs service and get the shared volum
      7. run `dir /s /b F2; dir /s /b F1` and etc, everything works, no disconnect, no drop.
      8. wait the dir cmd complete, and re-read the mount dir

      Expected results
      The mount still works.

      Actual results
      The mount was disconnected and virtiofsd quit.

              kkostiuk Konstantin Kostiuk
              rhn-support-xiagao Xiaoling Gao
              Meirav Dean Meirav Dean
              Xiaoling Gao Xiaoling Gao
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: