The Hoof & Paw
DocsCategoriesTagsView the current conditions from the WolfspyreLabs WeatherstationToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176

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:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
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;
    }
}