On Thu, 1 Apr 2021, Christos Zoulas wrote:

On Apr 1, 2021, at 7:56 PM, RVP <r...@sdf.org> wrote:

But, there is a problem here, though: copy_statvfs_info() overrides
the FUSE-supplied f_namemax (EXT2_NAME_LEN = 255):

Yes, puffs is special... Let me think what's the best way to fix that.


f_iosize is also overridden (512 vs. 4k from FUSE-ext2).


No idea--didn't look too deeply into this. Are you able to
reproduce this issue?


I am trying to follow the steps you described. I don't see the unmount
and remount though...


I can reliably get a f_namemax of 0 using this script:

$ cat nfs-f_namemax-err.sh
---START---
#!/bin/sh

cat /etc/exports
# /mnt    -network 127.0.0.0      -mask 255.0.0.0

# Mount some (an ext2) partition
sudo mount -r -t ext2fs /dev/dk11 /mnt

# Start NFS server
sudo sh -c 'umask 022; for s in rpcbind mountd nfsd nfslocking
do      /etc/rc.d/$s start
done'

sudo mount -r -t nfs localhost:/mnt /altroot
./a.out /altroot/work/dmesg.txt
# svfs.f_frsize: 512
# svfs.f_iosize: 32768
# svfs.f_bsize: 512
# svfs.f_namemax: 255
#
# OK the first time around...

# Unmount...
#
sudo umount /altroot
sudo umount /mnt
./a.out /altroot/work/dmesg.txt
# a.out: /altroot/work/dmesg.txt: statvfs failed: No such file or directory
#
# As expected...

# Mount again...
#
sudo mount -r -t ext2fs /dev/dk11 /mnt
sudo mount -r -t nfs localhost:/mnt /altroot
./a.out /altroot/work/dmesg.txt
# a.out: /altroot/work/dmesg.txt: statvfs failed: Permission denied
#
# Why `Permission denied' ?

# Notify mountd...
#
sudo pkill -HUP mountd
./a.out /altroot/work/dmesg.txt
# svfs.f_frsize: 512
# svfs.f_iosize: 32768
# svfs.f_bsize: 512
# svfs.f_namemax: 0
#
# Fails now...

sudo umount /altroot
sudo umount /mnt
--END--

Thanks,
RVP

Reply via email to