Cannot mount a nfs share after doing a snapshot

Greg Byshenk freebsd at byshenk.net
Sun Jan 6 07:04:25 PST 2008


On Sat, Jan 05, 2008 at 11:28:31PM +0100, Jose Garcia Juanino wrote:
 
> I have a 7.0-PRERELEASE i386 system with a nfs server, with an unique export
> line in /etc/exports file:
> 
> / -maproot=root -network 192.168.1.0 -mask 255.255.255.0
> 
> After a reboot, I have no problem mounting this nfs share from a nfs client.
> But after issuing the following command on the server:
> 
> # mount -u -o snapshot /.snap/now /

Is the problem that you are trying to mount your snapshot on top of the /
directory?  I use snapshots, but have never tried to do this, and can 
imagine that there might be a problem, since the snapshot is itself a
snapshot of a filesystem (different than the actual root filesystem).

That would explain the error:

> Jan  5 22:47:03 gauss mountd[542]: can't delete exports for /: Cross-device link

What happens if you create a directory and mount your snapshot there:

	mkdir /snapshotmount
	mount -u -o snapshot /.snap/now /snapshotmount

If this works, then you may need a separate exports line for /snapshotmount.

If this fails, does it work if you use the more roundabout mount?  That is

	mdconfig -a -t vnode -f /.snapn/now -u 4
	mount -r /dev/md4 /snapshotmount


-greg

 
> the syslog shows:
> 
> Jan  5 22:47:03 gauss mountd[542]: can't delete exports for /: Cross-device link
> Jan  5 22:47:03 gauss mountd[542]: can't export /
> Jan  5 22:47:03 gauss mountd[542]: bad exports list line / -maproot
> 
> and I cannot mount this nfs share from a client anymore. The client
> complains with a "[udp] gauss:/: Permission denied" error message.
> 
> Some tips about this weird problem:
> 
> 1) On a 6.2-RELEASE nfs server does not happen (or I am not been able to
>    reproduce it)
> 
> 2) It looks like it is not platform dependent, as on a 7.0-PRERELEASE
>    sparc64 nfs server I get exactly the same result.
> 
> 3) If I issue the mksnap_ffs command to make the snapshot, I get no error
>    messages from syslog and I can mount the nfs share from any nfs client.
> 
> 4) If the nfs server is a sparc64 the response of the nfs client is
>    "[udp] riemann:/: RPCPROG_MNT: RPC: Can't decode result" (after issuing
>    the  mount -u -o snapshot /.snap/now / command on the server, of
>    course).
> 
> I have a custom kernel on the i386 nfs server. The output of
> 
> # config -x /boot/kernel/kernel
> 
> is:
> 
> #############################
> options CONFIG_AUTOGENERATED
> ident   MK2007Nov01
> machine i386
> cpu     I686_CPU
> options CONSPEED=115200
> options ATA_STATIC_ID
> options AUDIT
> options STOP_NMI
> options ADAPTIVE_GIANT
> options KBD_INSTALL_CDEV
> options _KPOSIX_PRIORITY_SCHEDULING
> options SYSVSEM
> options SYSVMSG
> options SYSVSHM
> options KTRACE
> options SCSI_DELAY=2000
> options COMPAT_FREEBSD6
> options COMPAT_FREEBSD5
> options COMPAT_FREEBSD4
> options COMPAT_43TTY
> options GEOM_LABEL
> options GEOM_PART_GPT
> options PSEUDOFS
> options PROCFS
> options CD9660
> options MSDOSFS
> options NFS_ROOT
> options NFSSERVER
> options NFSCLIENT
> options MD_ROOT
> options UFS_DIRHASH
> options UFS_GJOURNAL
> options UFS_ACL
> options SOFTUPDATES
> options FFS
> options INET6
> options SCTP
> options INET
> options PREEMPTION
> options SCHED_4BSD
> options INCLUDE_CONFIG_FILE
> options KSE
> options GEOM_MBR
> options GEOM_BSD
> options ISAPNP
> device  isa
> device  npx
> device  mem
> device  io
> device  uart_ns8250
> device  apic
> device  cpufreq
> device  pci
> device  fdc
> device  ata
> device  atadisk
> device  atapicd
> device  atapifd
> device  scbus
> device  ch
> device  da
> device  sa
> device  cd
> device  pass
> device  ses
> device  atapicam
> device  atkbdc
> device  atkbd
> device  kbdmux
> device  psm
> device  vga
> device  splash
> device  sc
> device  apm
> device  pmtimer
> device  uart
> device  sio
> device  miibus
> device  rl
> device  loop
> device  random
> device  ether
> device  ppp
> device  tun
> device  pty
> device  firmware
> device  md
> device  gif
> device  faith
> device  bpf
> device  uhci
> device  usb
> device  ugen
> device  uhid
> device  umass
> device  smbus
> device  viapm
> device  smb
> device  iicbus
> device  iicbb
> device  ic
> device  iic
> device  iicsmb
> #############################
> 
> The dmesg -a output is:
> 
> #############################
> 
> Copyright (c) 1992-2008 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 7.0-PRERELEASE #0: Sun Dec 30 20:10:53 CET 2007
>     root at gauss.sanabria.es:/usr/obj/usr/src/sys/MK2007Nov01
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: Intel Pentium III (1002.28-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
>   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
> real memory  = 1342111744 (1279 MB)
> avail memory = 1304973312 (1244 MB)
> kbd1 at kbdmux0
> cpu0 on motherboard
> apm0: <APM BIOS> on motherboard
> apm0: found APM BIOS v1.2, connected at v1.2
> pcib0: <Host to PCI bridge> pcibus 0 on motherboard
> pir0: <PCI Interrupt Routing Table: 8 Entries> on motherboard
> pci0: <PCI bus> on pcib0
> pcib1: <PCI-PCI bridge> at device 1.0 on pci0
> pci1: <PCI bus> on pcib1
> isab0: <PCI-ISA bridge> at device 7.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <VIA 82C596B UDMA66 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 7.1 on pci0
> ata0: <ATA channel 0> on atapci0
> ata0: [ITHREAD]
> ata1: <ATA channel 1> on atapci0
> ata1: [ITHREAD]
> viapropm0: <VIA VT82C596A Power Management Unit> port 0x5000-0x500f at device 7.3 on pci0
> smbus0: <System Management Bus> on viapropm0
> smb0: <SMBus generic I/O> on smbus0
> vgapci0: <VGA-compatible display> mem 0xdc000000-0xdfffffff irq 12 at device 15.0 on pci0
> rl0: <RealTek 8139 10/100BaseTX> port 0xd800-0xd8ff mem 0xe1000000-0xe10000ff irq 11 at device 18.0 on pci0
> miibus0: <MII bus> on rl0
> rlphy0: <RealTek internal media interface> PHY 0 on miibus0
> rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> rl0: Ethernet address: 00:50:fc:f7:70:0a
> rl0: [ITHREAD]
> pci0: <multimedia, audio> at device 19.0 (no driver attached)
> pci0: <input device> at device 19.1 (no driver attached)
> pmtimer0 on isa0
> orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff pnpid ORM0000 on isa0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> atkbd0: [ITHREAD]
> fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> fdc0: [FILTER]
> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A, console
> sio0: [FILTER]
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> sio1: [FILTER]
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> unknown: <PNP0303> can't assign resources (port)
> unknown: <PNP0c01> can't assign resources (memory)
> unknown: <PNP0a03> can't assign resources (port)
> unknown: <PNP0501> can't assign resources (port)
> unknown: <PNP0700> can't assign resources (port)
> unknown: <PNP0501> can't assign resources (port)
> WARNING: ZFS is considered to be an experimental feature in FreeBSD.
> Timecounters tick every 1.000 msec
> ZFS filesystem version 6
> ZFS storage ad0: 38166MB <Seagate ST340014A 3.06> at ata0-master UDMA66
> pool version 6
> ad2: 57241MB <Seagate ST360020A 3.39> at ata1-master UDMA66
> acd0: DVDR <HL-DT-ST DVDRAM GSA-4163B/A104> at ata1-slave UDMA33
> acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 sks=0x40 0x00 0x01
> cd0 at ata1 bus 0 target 1 lun 0
> cd0: <HL-DT-ST DVDRAM GSA-4163B A104> Removable CD-ROM SCSI-0 device 
> cd0: 33.000MB/s transfers
> cd0: Attempt to query device size failed: NOT READY, Medium not present
> Trying to mount root from ufs:/dev/ad0s1d
> Loading configuration files.
> Entropy harvesting:
>  interrupts
>  ethernet
>  point_to_point
>  kickstart
> .
> swapon: adding /dev/ad0s1b as swap device
> Fast boot: skipping disk checks.
> Setting hostuuid: 1e6dbcf7-8aad-11dc-a5e0-0050fcf7700a.
> Setting hostid: 0x86fbd995.
> Mounting local file systems:
> .
> Setting hostname: gauss.sanabria.es.
> net.inet6.ip6.auto_linklocal: 
> 1
>  -> 
> 0
> 
> kern.geom.debugflags: 
> 0
>  -> 
> 16
> 
> kern.ipc.shmmax: 
> 33554432
>  -> 
> 67108864
> 
> kern.ipc.shmall: 
> 8192
>  -> 
> 32768
> 
> kern.coredump: 
> 1
>  -> 
> 0
> 
> vfs.usermount: 
> 0
>  -> 
> 1
> 
> kern.ipc.shm_allow_removed: 
> 0
>  -> 
> 1
> 
> vfs.nfs.iodmin: 
> 0
>  -> 
> 4
> 
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> 	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
> 	inet6 ::1 prefixlen 128 
> 	inet 127.0.0.1 netmask 0xff000000 
> rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 	options=8<VLAN_MTU>
> 	ether 00:50:fc:f7:70:0a
> 	inet 192.168.1.4 netmask 0xffffff00 broadcast 192.168.1.255
> 	media: Ethernet autoselect (none)
> 	status: no carrier
> add net default: gateway 192.168.1.1
> add net 192.168.57.0: gateway 192.168.1.5
> add net 10.0.0.0: gateway 192.168.1.5
> Additional routing options:
> .
> Starting devd.
> Additional IP options:
> .
> Mounting NFS file systems:
> .
> ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat /usr/local/lib/compat/pkg /usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6 /usr/local/lib/pth /usr/local/lib/zsh
> a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
> Creating and/or trimming log files:
> .
> Starting syslogd.
> Initial i386 initialization:
> .
> Additional ABI support:
> .
> Setting date via ntp.
>  5 Jan 22:41:49 ntpdate[496]: step time server 212.9.75.245 offset 0.950467 sec
> Starting rpcbind.
> NFS access cache time=60
> Clearing /tmp (X related).
> Starting mountd.
> Starting nfsd.
> Starting statd.
> Starting lockd.
> Starting xinetd.
> Removing stale Samba tdb files: 
> .
> .
> .
> .
> .
> .
> .
> .
>  done
> Starting nmbd.
> Starting smbd.
> Starting local daemons:
> .
> Updating motd
> .
> Mounting late file systems:
> .
> Starting ntpd.
> postfix/postfix-script: starting the Postfix mail system
> Starting distccd.
> Performing sanity check on apache22 configuration:
> Syntax OK
> Starting apache22.
> Starting anacron.
> Configuring syscons:
>  keymap
>  keyrate
>  font8x16
>  font8x14
>  font8x8
>  blanktime
> .
> Starting sshd.
> Starting cron.
> Local package initialization:
> #############################
> 
> 
> 
> Also, my /etc/src.conf used to build the world:
> 
> 
> #############################
> WITHOUT_ACPI=1
> WITHOUT_ASSERT_DEBUG=1
> WITHOUT_ATM=1
> WITHOUT_AUDIT=1
> WITHOUT_AUTHPF=1
> WITHOUT_BIND_DNSSEC=1
> WITHOUT_BIND_ETC=1
> WITHOUT_BIND_LIBS_LWRES=1
> WITHOUT_BIND_MTREE=1
> WITHOUT_BIND_NAMED=1
> WITHOUT_BLUETOOTH=1
> WITHOUT_I4B=1
> WITHOUT_IPFILTER=1
> WITHOUT_IPX=1
> WITHOUT_KERBEROS=1
> WITHOUT_LPR=1
> WITHOUT_NIS=1
> WITHOUT_PF=1
> WITHOUT_PROFILE=1
> WITHOUT_SENDMAIL=1
> WITHOUT_SHAREDOCS=1
> #############################
> 
> 
> The /etc/make.conf file:
> 
> #############################
> CPUTYPE?=pentium3
> MODULES_OVERRIDE=   linux if_tap sound/driver/emu10k1  syscons/green \
>                     linprocfs linsysfs  smbfs ntfs ext2fs libiconv \
>                     libmchain aio if_bridge vesa \
>                     cd9660_iconv udf_iconv msdosfs_iconv ntfs_iconv \
>                     zfs bridgestp
> BOOT_COMCONSOLE_PORT=   0x3F8
> BOOT_COMCONSOLE_SPEED=  115200
> PERL_VER=5.8.8
> PERL_VERSION=5.8.8
> #############################
> 
> 
> 
> Regards



-- 
greg byshenk  -  gbyshenk at byshenk.net  -  Leiden, NL


More information about the freebsd-stable mailing list