Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 381539 - net-fs/nfs-utils-1.2.4 rpc.mountd doesn't allow to mount a zfs-fuse filesystem
Summary: net-fs/nfs-utils-1.2.4 rpc.mountd doesn't allow to mount a zfs-fuse filesystem
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: AMD64 Linux
: Normal minor
Assignee: Network Filesystems
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-02 10:31 UTC by Giuseppe Vitillaro
Modified: 2012-12-02 06:10 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Giuseppe Vitillaro 2011-09-02 10:31:13 UTC
net-fs/nfs-utils-1.2.4 rpc.mountd doesn't allow to mount a zfs-filesystem with the error:

authenticated mount request from X.X.X.X:NNNN for /fs
qword_eol: fflush failed: errno 9 (Bad file descriptor)
Cannot export /fs, possibly unsupported filesystem or fsid= required

from the client side I simple receive the message the mount is not allowed.

If I change the rpc.mountd starting opts adding in /etc/conf.d/nfs the flags:

OPTS_RPC_MOUNTD="-d all"

asking for debug, the same identical mount succeed, without any error.

Reproducible: Always

Steps to Reproduce:
1.create a zfs-fuse file system, for example using a file like /tmp/tzfs and "losetup /dev/loop0 /tmp/tzfs", with the command:
  
  zpool create tzfs /dev/loop0

after you installed and started zfs-fuse with /etc/init.d/zfs-fuse start
2.exports the new zfs-fuse filesystem adding a line like:

  /tzfs *(rw,no_root_squash,insecure,async,no_subtree_check,fsid=1)

in /etc/exports and using the command "exportfs -a"

3.Try to remotely mount the NFS filesystem
Actual Results:  
authenticated mount request from X.X.X.X:NNNN for /tzfs
qword_eol: fflush failed: errno 9 (Bad file descriptor)
Cannot export /tzfs, possibly unsupported filesystem or fsid= required

Expected Results:  
The filesystem should be correctly mounted in any case beside "-d all" rpc.mountd opts, without any syslog error
Comment 1 Giuseppe Vitillaro 2011-09-02 11:00:13 UTC
Portage 2.1.10.11 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.13-r4, 3.0.4-gentoo x86_64)
=================================================================
System uname: Linux-3.0.4-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.3
Timestamp of tree: Fri, 02 Sep 2011 07:30:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r2, 3.2-r2
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo multimedia rion vmware local
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/multimedia /var/lib/layman/rion /var/lib/layman/vmware /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acl acpi alsa amd64 apache2 avahi berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative device-mapper dri dts dvd dvdr embedded emboss encode esd exif extras fam ffmpeg firefox flac fontconfig fortran gd gdbm gdu gif gmplayer gpm gstreamer gtk iconv innodb ipv6 jack jpeg kde kipi lame lcms ldap libnotify libsamplerate mad mmx mng modules motif mp3 mp4 mpeg mudflap multilib mysql nano ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pcsc-lite pdf perl phonon php plasma png policykit postgres ppds pppd pulseaudio python qt3support qt4 quicktime readline script sdk sdl semantic-desktop session smartcard sndfile sox spell sql sse sse2 ssl startup-notification svg symlink sysfs tcpd tiff truetype type1 udev unicode usb vim vlc vorbis webkit x264 xcb xcomposite xinerama xinetd xml xml2 xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 fran narf 2011-12-29 11:37:09 UTC
using native kernel zfsonlinux i have a similiar issue after rebooting. nfs is exported with zfs set sharenfs=on which works fine until reboot. 

after reboot: 
refused mount request from xxx.xxx.xxx.xxx for /home/nfstest (/home/nfstest): unmatched host
-> need to disable/enable sharenfs for it to work again. possible problem in nfs/nfs-util? 
Portage 2.1.10.40 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r1, 3.1.5.narf-livesystems.core2 x86_64)
=================================================================
System uname: Linux-3.1.5.narf-livesystems.core2-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T5870_@_2.00GHz-with-gentoo-2.1
Timestamp of tree: Thu, 29 Dec 2011 07:00:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.7
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.inode.at"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://portage.ips.local/gentoo-portage"
USE="3dnow 3dnowext 7zip X X509 a52 aac aalib abiword ace acl acpi alisp alsa amazon amd64 apng async autoipd avahi beagle berkdb binary-drivers bluetooth bonjour boost brasero brltty bzip2 cairo cardbus cdda cddb cdio cdr cdrom cdrtools chipcard cleartype cli consolekit corefonts cpudetection cracklib crypt css cups curl cxx daap db2 dbase dbm dbus dell deskbar desktopglobe device-mapper dga dhclient dhcpcd diskio divx djvu dmx dnotify dns dot dri dts dv dvb dvd dvdr dvi emerald empathy encode esd exchange exif extensions faac faad fat ffmpeg fftw flac fontconfig foomaticdb fortran freetts ftp gd gdbm gdu geoip gif gimp glitz gmp gnokii gnome gnome-keyring gnome-print gnomecd gnuplot gnutls gpg gphoto2 gpm graphics graphviz gs gtk gtk3 gudev h323 hbci hddtemp hwdb icons iconv icq icu id3 id3tag idn imagemagick imq inotify ipod iproute2 ipsec irda iscsi java java6 javascript joystick jpeg jpeg2k kde kdehiddenvisibility kdrive kerberos kqemu l7filter ladspa laptop lash lastfmradio lcdfilter lcms ldap libgda libkms libmms libnotify libsamplerate libv4l2 lm_sensors loop-aes lvm lzma lzo mbrola md5sum mdnsresponder-compat midi minizip mjpeg mmx mng modules mono motif mp2 mp3 mp3tunes mpd mpeg mplayer mtp mudflap multilib musepack nat nautilus ncurses net netboot network networkmanager nforce2 nfs nfsv3 nfsv4 nls nntp nptl nptlonly nsplugin ntfs nvidia nvtv odbc offensive ogg ogg123 ogm openal openexr opengl openmp openvg pam pcre pda pdf pic pidgin pipechan pixmaps pkcs11 plotutils png policykit posix postscript ppds pppd pptp print pulseaudio python qt3support qt4 quicktime quotas ramfs rar readline realmedia rss rtf samba sdl sdl-image sdl-sound sdlaudio semantic-desktop sensord session sftp sip sndfile snmp sound spell sqlite sse sse2 sse3 sse4 ssl svg svgz sysfs tcpd tga theora threads threadsafe tidy tiff timidity tk truetype tv tvtime twolame udev unicode upnp usb utils v4l v4l2 vala vcd vdpau video virtualbox vnc vorbis wav wavpack winetools wma wmf wmp wxwidgets x264 xcb xfs xft xinerama xorg xprint xulrunner xv xvid xvmc yv12 zip zlib zrtp" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="adc65 agfa_cl20 aox barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 jl2005a kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z template topfield toshiba_pdrm11" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="hp1000 hp1005 hp1018 hp1020 hp1215 hp1500 hp1600 hp2600n hpp1005 hpp1006 hpp1007 hpp1008 hpp1505 km2200 km2300 km2430 km2480 km2490 km2530 kmcpwl lm500 oki3200 oki3300 oki3400 oki3530 oki5100 oki5200 oki5500 oki5600 oki5800 sa2160 sa300 sa315 sa3160 xp6110 xp6115" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse joystick synaptics virtualbox vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware nvidia radeonhd rendition tga tseng v4l virtualbox" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Richard Yao (RETIRED) gentoo-dev 2012-01-17 02:14:04 UTC
Have you tried doing "zfs set sharenfs=on rpool/ROOT/gentoo", substituting the data set on which you want to export shares for rpool/ROOT/gentoo?

See the ZFSOnLinux Documentation:

http://zfsonlinux.org/faq.html#HowDoISetupShares
Comment 4 Richard Yao (RETIRED) gentoo-dev 2012-01-17 08:15:11 UTC
Ignore my previous remark. #2 already indicated that he has done that and it works until he reboots. With that said, it might be possible to work around this by having OpenRC set this at boot.

Make a .start file inside of /etc/local.d/ and it should run on every boot.
Comment 5 Richard Yao (RETIRED) gentoo-dev 2012-02-13 21:27:49 UTC
I believe that this might be related to the following upstream issue:

https://github.com/zfsonlinux/zfs/issues/441

I discovered that exporting and then importing the pool will correct this the issue in the upstream bug. Please test this and let me know if it works for NFS shares as well.

It would be very helpful to me to know if this workaround addresses this issue too, not just for the sake of having a workaround, but also for the purpose of identifying the bug in the kernel modules so that it can be fixed.
Comment 6 Richard Yao (RETIRED) gentoo-dev 2012-02-13 21:29:51 UTC
Also, as another comment, there is another upstream bug that is extraordinarily similar to this one:

https://github.com/zfsonlinux/zfs/issues/570

A patch was accepted for it today. Please test the latest GIT sources using the sys-kernel/spl-9999 and sys-fs/zfs-9999 ebuilds to see if they resolve this issue before trying my suggestion to export and then import your pool.