@@ -82,8 +82,7 @@ log_error() {
82
82
83
83
log_header () {
84
84
85
- echo " \
86
-
85
+ echo "
87
86
==================================================================
88
87
$( echo " $1 " | awk ' {print toupper($0)}' )
89
88
=================================================================="
@@ -169,18 +168,28 @@ stop_nfsd() {
169
168
stop_exportfs () {
170
169
171
170
log ' un-exporting filesystem(s)'
172
- $PATH_BIN_EXPORTFS -ua
171
+ $PATH_BIN_EXPORTFS -uav
173
172
on_failure warn ' unable to un-export filesystem(s)'
174
173
}
175
174
176
175
stop () {
177
176
178
177
log_header ' terminating ...'
179
178
180
- kill_process_if_running " $PATH_BIN_RPC_SVCGSSD "
179
+ if is_kerberos_enabled; then
180
+ kill_process_if_running " $PATH_BIN_RPC_SVCGSSD "
181
+ fi
182
+
181
183
stop_nfsd
182
- kill_process_if_running " $PATH_BIN_IDMAPD "
183
- kill_process_if_running " $PATH_BIN_STATD "
184
+
185
+ if is_idmapd_enabled; then
186
+ kill_process_if_running " $PATH_BIN_IDMAPD "
187
+ fi
188
+
189
+ if is_nfs3_enabled; then
190
+ kill_process_if_running " $PATH_BIN_STATD "
191
+ fi
192
+
184
193
kill_process_if_running " $PATH_BIN_MOUNTD "
185
194
stop_exportfs
186
195
kill_process_if_running " $PATH_BIN_RPCBIND "
@@ -230,15 +239,28 @@ get_requested_port_statd_out() {
230
239
is_kerberos_enabled () {
231
240
232
241
if [[ -n " ${! ENV_VAR_NFS_ENABLE_KERBEROS} " ]]; then
233
- echo 1
242
+ return 0
234
243
fi
244
+
245
+ return 1
235
246
}
236
247
237
248
is_nfs3_enabled () {
238
249
239
250
if [[ -z " ${! ENV_VAR_NFS_DISABLE_VERSION_3} " ]]; then
240
- echo 1
251
+ return 0
241
252
fi
253
+
254
+ return 1
255
+ }
256
+
257
+ is_idmapd_enabled () {
258
+
259
+ if [[ " $( get_requested_nfs_version) " != ' 3' && -f " $PATH_FILE_ETC_IDMAPD_CONF " ]]; then
260
+ return 0
261
+ fi
262
+
263
+ return 1
242
264
}
243
265
244
266
@@ -276,21 +298,19 @@ assert_port() {
276
298
277
299
assert_nfs_version () {
278
300
279
- local -r version =" $( get_requested_nfs_version) "
301
+ local -r requested_version =" $( get_requested_nfs_version) "
280
302
281
- echo " $version " | grep -Eq ' ^( 3|4|4\.1|4\.2) $'
303
+ echo " $requested_version " | grep -Eq ' ^3|4(?:\.[1-2])? $'
282
304
on_failure bail " please set $ENV_VAR_NFS_VERSION to one of: 4.2, 4.1, 4, 3"
283
305
284
- if [[ -z " $( is_nfs3_enabled) " && " $version " = ' 3' ]]; then
306
+ if [[ ( ! $( is_nfs3_enabled) ) && " $requested_version " = ' 3' ]]; then
285
307
bail ' you cannot simultaneously enable and disable NFS version 3'
286
308
fi
287
309
}
288
310
289
311
assert_nfsd_threads () {
290
312
291
- local -r reqd_thread_count=$( get_requested_count_nfsd_threads)
292
-
293
- if [[ " $reqd_thread_count " -lt 1 ]]; then
313
+ if [[ " $( get_requested_count_nfsd_threads) " -lt 1 ]]; then
294
314
bail " please set $ENV_VAR_NFS_SERVER_THREAD_COUNT to a positive integer"
295
315
fi
296
316
}
@@ -407,7 +427,7 @@ init_assertions() {
407
427
assert_linux_capabilities
408
428
409
429
# perform Kerberos assertions
410
- if [[ -n " $( is_kerberos_enabled) " ]] ; then
430
+ if is_kerberos_enabled; then
411
431
412
432
assert_file_provided " $PATH_FILE_ETC_IDMAPD_CONF "
413
433
assert_file_provided " $PATH_FILE_ETC_KRB5_KEYTAB "
@@ -435,14 +455,14 @@ boot_helper_mount() {
435
455
436
456
boot_helper_get_version_flags () {
437
457
438
- local -r reqd_version =" $( get_requested_nfs_version) "
439
- local flags=(' --nfs-version' " $reqd_version " ' --no-nfs-version' 2)
458
+ local -r requested_version =" $( get_requested_nfs_version) "
459
+ local flags=(' --nfs-version' " $requested_version " ' --no-nfs-version' 2)
440
460
441
- if [[ -z " $( is_nfs3_enabled) " ]] ; then
461
+ if ! is_nfs3_enabled; then
442
462
flags+=(' --no-nfs-version' 3)
443
463
fi
444
464
445
- if [[ " $reqd_version " = ' 3' ]]; then
465
+ if [[ " $requested_version " = ' 3' ]]; then
446
466
flags+=(' --no-nfs-version' 4)
447
467
fi
448
468
@@ -493,7 +513,7 @@ boot_main_rpcbind() {
493
513
494
514
boot_main_idmapd () {
495
515
496
- if [[ " $( get_requested_nfs_version ) " != ' 3 ' && -f " $PATH_FILE_ETC_IDMAPD_CONF " ]] ; then
516
+ if is_idmapd_enabled ; then
497
517
log ' starting idmapd'
498
518
$PATH_BIN_IDMAPD -v -S
499
519
on_failure stop ' idmapd failed'
@@ -502,7 +522,7 @@ boot_main_idmapd() {
502
522
503
523
boot_main_statd () {
504
524
505
- if [[ -z " $( is_nfs3_enabled) " ]] ; then
525
+ if ! is_nfs3_enabled; then
506
526
return
507
527
fi
508
528
@@ -527,14 +547,14 @@ boot_main_nfsd() {
527
547
$PATH_BIN_NFSD " ${args[@]} "
528
548
on_failure stop ' rpc.nfsd failed'
529
549
530
- if [ -z " $( is_nfs3_enabled) " ] ; then
550
+ if ! is_nfs3_enabled; then
531
551
kill_process_if_running " $PATH_BIN_RPCBIND "
532
552
fi
533
553
}
534
554
535
555
boot_main_svcgssd () {
536
556
537
- if [[ -z " $( is_kerberos_enabled) " ]] ; then
557
+ if ! is_kerberos_enabled; then
538
558
return
539
559
fi
540
560
@@ -568,7 +588,7 @@ summarize_nfs_versions() {
568
588
;;
569
589
esac
570
590
571
- if [[ -n " $( is_nfs3_enabled) " && " $reqd_version " =~ ^4 ]]; then
591
+ if [[ $( is_nfs3_enabled) && " $reqd_version " =~ ^4 ]]; then
572
592
versions=" $versions , 3"
573
593
fi
574
594
@@ -598,7 +618,7 @@ summarize_ports() {
598
618
local -r port_mountd=" $( get_requested_port_mountd) "
599
619
local -r port_statd_in=" $( get_requested_port_statd_in) "
600
620
601
- if [[ -z " $( is_nfs3_enabled) " ]] ; then
621
+ if ! is_nfs3_enabled; then
602
622
log " list of container ports that should be exposed: $port_nfsd (TCP)"
603
623
else
604
624
log ' list of container ports that should be exposed:'
0 commit comments