Skip to main content
  1. 2022/
  2. January/

Diagnosing NFS problems in TrueNAS scale

Troubles with NFS in TrueNAS Scale #

I didn’t understand why NFS decided to just start dying.

The logs were incredibly unhelpful.

21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922208[main] init_logging :LOG :NULL :LOG: Setting log level for all components to NIV_EVENT
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922208[main] main :MAIN :EVENT :ganesha.nfsd Starting: Ganesha Version 4.0
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_set_param_from_conf :NFS STARTUP :EVENT :Configuration file successfully parsed
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] init_server_pkgs :NFS STARTUP :EVENT :Initializing ID Mapper.
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] init_server_pkgs :NFS STARTUP :EVENT :ID Mapper successfully initialized.
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_start_grace :STATE :EVENT :NFS Server Now IN GRACE, duration 90
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_start_grace :STATE :EVENT :grace reload client info completed from backend
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_try_lift_grace :STATE :EVENT :check grace:reclaim complete(0) clid count(1)
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] lower_my_caps :NFS STARTUP :EVENT :CAP_SYS_RESOURCE was successfully removed for proper quota management in FSAL
21/01/2022 15:52:25 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] lower_my_caps :NFS STARTUP :EVENT :currenty set capabilities are: =ep cap_sys_resource-ep
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Init_svc :DISP :CRIT :Cannot acquire credentials for principal nfs
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Init_admin_thread :NFS CB :EVENT :Admin thread initialized
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_rpc_cb_init_ccache :NFS STARTUP :EVENT :Callback creds directory (/var/run/ganesha) already exists
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] find_keytab_entry :NFS CB :WARN :Configuration file does not specify default realm while getting default realm name
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] gssd_refresh_krb5_machine_credential :NFS CB :CRIT :ERROR: gssd_refresh_krb5_machine_credential: no usable keytab entry found in keytab /etc/krb5.keytab for connection with host localhost
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_rpc_cb_init_ccache :NFS STARTUP :WARN :gssd_refresh_krb5_machine_credential failed (-1765328160:99)
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Start_threads :THREAD :EVENT :Starting delayed executor.
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Start_threads :THREAD :EVENT :gsh_dbusthread was started successfully
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Start_threads :THREAD :EVENT :admin thread was started successfully
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Start_threads :THREAD :EVENT :reaper thread was started successfully
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_Start_threads :THREAD :EVENT :General fridge was started successfully
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[reaper] nfs_try_lift_grace :STATE :EVENT :check grace:reclaim complete(0) clid count(1)
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_start :NFS STARTUP :EVENT :-------------------------------------------------
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_start :NFS STARTUP :EVENT :             NFS SERVER INITIALIZED
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[main] nfs_start :NFS STARTUP :EVENT :-------------------------------------------------
21/01/2022 15:52:26 : epoch 61eb2b19 : pine.wolfspyre.com : ganesha.nfsd-3922260[svc_12] nfs_dupreq_rele :RW LOCK :CRIT :Error 22, acquiring mutex 0x7fe434005150 (&dv->mtx) at ./src/RPCAL/nfs_dupreq.c:1434

The actual salient bit was the last line there. but I didn’t recognize it immediately.

2022 Jan 21 15:52:27 pine.wolfspyre.com Process 3922260 (ganesha.nfsd) of user 0 dumped core.

Stack trace of thread 3922384:
#0  0x00007fe4743ffce1 __GI_raise (libc.so.6 + 0x3bce1)
#1  0x00007fe4743e9537 __GI_abort (libc.so.6 + 0x25537)
#2  0x00007fe474622f4f n/a (libganesha_nfsd.so.4.0 + 0x77f4f)
#3  0x00007fe4745f94fb n/a (libganesha_nfsd.so.4.0 + 0x4e4fb)
#4  0x00007fe4745f9eab n/a (libganesha_nfsd.so.4.0 + 0x4eeab)
#5  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#6  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#7  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#8  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#9  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#10 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922269:
#0  0x00007fe474598ad8 futex_abstimed_wait_cancelable (libpthread.so.0 + 0xfad8)
#1  0x00007fe474659cb2 n/a (libganesha_nfsd.so.4.0 + 0xaecb2)
#2  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#3  0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922363:
#0  0x00007fe4744c2116 epoll_wait (libc.so.6 + 0xfe116)
#1  0x00007fe4743a01dc n/a (libntirpc.so.4.0 + 0x211dc)
#2  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#3  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#4  0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922268:
#0  0x00007fe474598ad8 futex_abstimed_wait_cancelable (libpthread.so.0 + 0xfad8)
#1  0x00007fe474659cb2 n/a (libganesha_nfsd.so.4.0 + 0xaecb2)
#2  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#3  0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922272:
#0  0x00007fe474598ad8 futex_abstimed_wait_cancelable (libpthread.so.0 + 0xfad8)
#1  0x00007fe474659cb2 n/a (libganesha_nfsd.so.4.0 + 0xaecb2)
#2  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#3  0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922364:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922408:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922389:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922396:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922410:
#0  0x00007fe47444d205 _int_malloc (libc.so.6 + 0x89205)
#1  0x00007fe47444e299 __GI___libc_malloc (libc.so.6 + 0x8a299)
#2  0x00007fe4745fec23 n/a (libganesha_nfsd.so.4.0 + 0x53c23)
#3  0x00007fe4743a8577 n/a (libntirpc.so.4.0 + 0x29577)
#4  0x00007fe4743a96bb n/a (libntirpc.so.4.0 + 0x2a6bb)
#5  0x00007fe4743a2e1c n/a (libntirpc.so.4.0 + 0x23e1c)
#6  0x00007fe4745f961a n/a (libganesha_nfsd.so.4.0 + 0x4e61a)
#7  0x00007fe4745f9ea3 n/a (libganesha_nfsd.so.4.0 + 0x4eea3)
#8  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#9  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#10 0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#11 0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#12 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#13 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922390:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922365:
#0  0x00007fe474598ad8 futex_abstimed_wait_cancelable (libpthread.so.0 + 0xfad8)
#1  0x00007fe4743aaa1b n/a (libntirpc.so.4.0 + 0x2ba1b)
#2  0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#3  0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922395:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x212de)
#9  0x00007fe4743aa904 n/a (libntirpc.so.4.0 + 0x2b904)
#10 0x00007fe474591ea7 start_thread (libpthread.so.0 + 0x8ea7)
#11 0x00007fe4744c1def __clone (libc.so.6 + 0xfddef)

Stack trace of thread 3922448:
#0  0x00007fe4745973d8 futex_abstimed_wait (libpthread.so.0 + 0xe3d8)
#1  0x00007fe4746bf845 n/a (libganesha_nfsd.so.4.0 + 0x114845)
#2  0x00007fe4746a6709 n/a (libganesha_nfsd.so.4.0 + 0xfb709)
#3  0x00007fe4746af55e n/a (libganesha_nfsd.so.4.0 + 0x10455e)
#4  0x00007fe4746afaed n/a (libganesha_nfsd.so.4.0 + 0x104aed)
#5  0x00007fe4745f9e84 n/a (libganesha_nfsd.so.4.0 + 0x4ee84)
#6  0x00007fe4743a1ceb n/a (libntirpc.so.4.0 + 0x22ceb)
#7  0x00007fe47439f8ea n/a (libntirpc.so.4.0 + 0x208ea)
#8  0x00007fe4743a02de n/a (libntirpc.so.4.0 + 0x

TLDR #

turns out having a subdir exported as a share when the parent is also a share confuses the hell out of ganesha it seems.

I’d


NFS_CORE_PARAM {
    Bind_addr = 198.18.198.23;
}




EXPORT {
    Export_Id = 1;
    Path = /mnt/Pine/proxmoxstorage;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.198.0/24, 198.18.10.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 2;
    Path = /mnt/Pine/Backups/Infrastructure;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24, 198.18.10.0/24, 198.18.199.0/24, 198.18.3.0/24, 198.18.1.0/24, 198.18.42.0/24;
        Access_Type = RW;
    }
    Squash = AllSquash;

    Anonymous_Uid = 65534;
    Anonymous_Gid = 65534;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 3;
    Path = /mnt/Pine/Backups/Infrastructure/CodeRepository;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.40.45;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 4;
    Path = /mnt/Pine/iTunes/Movies;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 5;
    Path = /mnt/Pine/iTunes/Music;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 6;
    Path = /mnt/Pine/Repo;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;    CLIENT {
        Clients = 198.18.0.0/16, 192.0.2.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 7;
    Path = /mnt/Pine/OSImages;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = RW;
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 8;
    Path = /mnt/Pine/Backups/Infrastructure/Dell/configs/pxm;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.50.0/24, 198.18.10.0/24;
        Access_Type = RW;
    }
    Squash = AllSquash;

    Anonymous_Uid = 65534;
    Anonymous_Gid = 50;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 9;
    Path = /mnt/Pine/Backups/Infrastructure/Dell/configs/stor;
    Protocols = 3;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}

here’s the alternative config without the more explicit sub-share:

NFS_CORE_PARAM {
    Bind_addr = 198.18.198.23;
}
NFSV4 {
    Allow_Numeric_Owners = true;
    Only_Numeric_Owners = true;
}
EXPORT_DEFAULTS {
    SecType = sys;
}




EXPORT {
    Export_Id = 1;
    Path = /mnt/Pine/proxmoxstorage;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/proxmoxstorage;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.198.0/24, 198.18.10.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 2;
    Path = /mnt/Pine/Backups/Infrastructure;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/Backups/Infrastructure;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24, 198.18.10.0/24, 198.18.199.0/24, 198.18.3.0/24, 198.18.1.0/24, 198.18.42.0/24;
        Access_Type = RW;
    }
    Squash = AllSquash;

    Anonymous_Uid = 65534;
    Anonymous_Gid = 65534;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 3;
    Path = /mnt/Pine/iTunes/Movies;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/iTunes/Movies;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 4;
    Path = /mnt/Pine/iTunes/Music;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/iTunes/Music;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 5;
    Path = /mnt/Pine/Repo;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/Repo;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.0.0/16, 192.0.2.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 6;
    Path = /mnt/Pine/OSImages;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/OSImages;
    Transports = TCP, UDP;
    Access_Type = RW;
    Squash = None;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 7;
    Path = /mnt/Pine/Backups/Infrastructure/Dell/configs/pxm;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/Backups/Infrastructure/Dell/configs/pxm;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 198.18.50.0/24, 198.18.10.0/24;
        Access_Type = RW;
    }
    Squash = AllSquash;

    Anonymous_Uid = 65534;
    Anonymous_Gid = 50;
    FSAL {
        Name = VFS;
    }
}




EXPORT {
    Export_Id = 8;
    Path = /mnt/Pine/Backups/Infrastructure/Dell/configs/stor;
    Protocols = 3, 4;
    Pseudo = /mnt/Pine/Backups/Infrastructure/Dell/configs/stor;
    Transports = TCP, UDP;
    Access_Type = None;
    CLIENT {
        Clients = 192.0.2.0/24, 198.18.198.0/24;
        Access_Type = RW;
    }
    Squash = None;
    FSAL {
        Name = VFS;
    }
}