[DragonFlyBSD - Bug #2768] Slave HAMMER PFSes cannot be exported via NFS

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Sun Jan 18 01:57:20 PST 2015


Issue #2768 has been updated by shamaz.

File hammer_inode.c.patch added

Hello.

> I'm not sure yet what the solution to this might be

Look at this code in src/sys/vfs/hammer/hammer_inode.c:

  /*
323                          * Only mark as the root vnode if the ip is not
324                          * historical, otherwise the VFS cache will get
325                          * confused.  The other half of the special handling
326                          * is in hammer_vop_nlookupdotdot().
327                          *
328                          * Pseudo-filesystem roots can be accessed via
329                          * non-root filesystem paths and setting VROOT may
330                          * confuse the namecache.  Set VPFSROOT instead.
331                          */
332                         if (ip->obj_id == HAMMER_OBJID_ROOT &&
333                             ip->obj_asof == hmp->asof) {
334                                 if (ip->obj_localization == 0)
335                                         vsetflags(vp, VROOT);
336                                 else
337                                         vsetflags(vp, VPFSROOT);
338                         }

Slave PFSes are considered "historical" and therefore VPFSROOT flag is not set. If VPFSROOT or VROOT flag is not set, call to mountctl fails. I attach a path which can solve this situation, but I am not sure if this a right thing to do, because I know nothing of this vfs cache and how it can be "confused".

----------------------------------------
Bug #2768: Slave HAMMER PFSes cannot be exported via NFS
http://bugs.dragonflybsd.org/issues/2768#change-12493

* Author: shamaz
* Status: In Progress
* Priority: Normal
* Assignee: tuxillo
* Category: Userland
* Target version: 4.2.x
----------------------------------------
The situation I already described in user mailing list: suppose you have
slave HAMMER PFS mounted at /nbackup and want to export it, so you add to
/etc/exports a line like this:

/nbackup -ro -network 192.168.10/24

When you restart mountd daemon you will get these errors in
/var/log/messages:

Jan 14 18:37:24 ressurected mountd[2279]: can't export /nbackup
Jan 14 18:37:24 ressurected mountd[2279]: bad exports list line /nbackup
-ro -network 192.168.10/24

Once PFS is upgraded to master, it can be exported fine.

---Files--------------------------------
test.c (398 Bytes)
hammer_inode.c.patch (685 Bytes)


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list