summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 062ed67716545c548b330742c97d3dccaf091c5f (plain)
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
commit 684cf4a5e0e84a1367690d7ecf4882cbdf4f3228
Author: Prem Karat <prem.karat@linux.vnet.ibm.com>
Date:   Thu Jun 30 07:29:20 2011 -0400

    mount.nfs: Fix for the bug in v1.2.4 that breaks mount.nfs
    
    commit 30ebf047 failed to include these changes that breaks mount.nfs.
    mount.nfs will continue to work fine with these changes
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 057d2add27d1e05fed3ae7206ee043b6c1fda45a
Author: NeilBrown <neilb@suse.de>
Date:   Tue Jun 28 13:24:33 2011 -0400

    Do not compile unnecessary files when the libmount code is enable
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 30ebf04700654deddbf5f57d95e84ec69cea8610
Author: Prem Karat <prem.karat@linux.vnet.ibm.com>
Date:   Tue Jun 28 11:53:40 2011 -0400

    mount.nfs: Don't hard code source and destination
    
    Currently souce and destination parameters should be passed as first and
    second paramter while using mount.nfs. This patch allows them to be passed
    anywhere while mounting.
    
    Current functionality is
    	mount.nfs source destn -o <options>
    This patch will allow to do this
    	mount.nfs -o <options> source destn
    		or
    	mount.nfs -o <options> source -o <options> destn
    
    Signed-off-by: Prem Karat <prem.karat@linux.vnet.ibm.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b3e190c4adfc9ec47567c968bd000d282d07b05e
Author: NeilBrown <neilb@suse.de>
Date:   Tue Jun 28 11:36:31 2011 -0400

    mount: improve signal management when locking mtab
    
    As mount.nfs can run setuid it must be careful about how the user can
    interact with in.  In particular it needs to ensure it does not
    respond badly to any signals that the user might be able to generate.
    
    This is particularly an issue while updating /etc/mtab (when that is
    not linked to /proc/mounts).  If the user can generate a signal which
    kills mount.nfs while /etc/mtab is locked, then it will leave the file
    locked, and could possibly corrupt mtab (particularly if 'ulimit 1'
    was previously issued).
    
    Currently lock_mtab does set some handlers for signals, but not
    enough.  It arranges for every signal up to (but not including)
    SIGCHLD to cause mount.nfs to unlock mdadm promptly exit ... even if
    the default behaviour would be to ignore the signal.  SIGALRM is
    handled specially, and signals after SIGCHLD are left with their
    default behaviour.  This includes for example SIGXFSZ which can be
    generated by the user running "ulimit 1".
    
    So: change this so that some signals are left unchanged, SIGALRM is
    handled as required, and all signals that the user can generate are
    explicitly ignored.
    
    The remainder still cause mount.nfs to print a message, unlock mtab, and
    exit.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a99b7846e2abec5e26ab6b764b921d79559e0a0f
Author: J. Bruce Fields <bfields@redhat.com>
Date:   Mon Jun 27 12:31:07 2011 -0400

    mountd: move fsidtype-specific code to helpers
    
    Now we can move these big switch statements into helper functions.
    
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e6559fd0b7b63f5d152d33d598dc74d78df30ecb
Author: J. Bruce Fields <bfields@redhat.com>
Date:   Mon Jun 27 12:30:36 2011 -0400

    mountd: gather fsid information into one struct
    
    A large part of nfsd_fh() is concerned with extracting
    fsid-type-specific information from the fsid, then matching that
    information with information from the export list and the filesystem.
    
    Moving all that information into one struct will allow some further
    simplifications.
    
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 13a0a61d037f2cc09e7997a96ce5822b9317883b
Author: J. Bruce Fields <bfields@redhat.com>
Date:   Mon Jun 27 12:29:51 2011 -0400

    mountd: prefer explicit subexports over crossmnt parents
    
    If a parent is exported with crossmnt, and if a child is also explicitly
    exported, then both exports could potentially produce matches in this
    loop; that isn't a bug.
    
    Instead of warning and ignoring the second match we find, we should
    instead prefer whichever export is deeper in the tree, so that
    children's options can override those of their parents.
    
    Reported-by: Olga Kornievskaia <aglo@citi.umich.edu>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f8d26c1db9a260597828685c7f62e1b29e78285f
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed Jun 22 15:52:55 2011 -0400

    manpage: add section on character class matches to exports(5)
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit cb6676aea5bcfcbeaf868e53177eff51f4efe9a8
Author: James Pearson <james-p@moving-picture.com>
Date:   Wed Jun 22 15:51:47 2011 -0400

    nfs-utils: remove possibly false statement from exports.man
    
    A very minor change suggested by J. Bruce Fields <bfields@fieldses.org>
    to remove the statement that exporting to a single host or IP address is
    the "most common format" - as it probably isn't.
    
    Signed-off-by: James Pearson <james-p@moving-picture.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7d71ff8e3825a7f8c2d5c9b5b9344e95e7aa1392
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed Jun 22 15:51:02 2011 -0400

    manpage: add info about IPv6 configuration to exports(5)
    
    The parts of the exports(5) manpage that discuss IP addressing neglect
    IPv6 configuration. Update to include info on how to export to IPv6
    subnets and addresses, and add a line demonstrating that to the EXAMPLE
    section.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 545ea1098089d6396d5a70111ec231c4de967faa
Author: Benny Halevy <benny@tonian.com>
Date:   Wed Jun 22 15:44:17 2011 -0400

    nfsstat: reorder nfs4 stats for 2.6.39
    
    Signed-off-by: Benny Halevy <benny@tonian.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c7ce7a4674ad446bee4dd3baf90155ce6b216816
Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
Date:   Wed Jun 22 15:41:27 2011 -0400

    libexport.a: fix using bad index for loop at cltsetup()
    
    In cltsetup(), when checking the address, use clp's naddr for index,
    instead of  cltarg's naddr, which it's always zero there.
    
    Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b50ad13298b3e9519a9bdecb8c146c9ecf39cef8
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed Jun 22 14:51:38 2011 -0400

    nfs: fix host_reliable_addrinfo
    
    According to Neil Brown:
    
        The point of the word 'reliable' is to check that the name we get
        really does belong to the host in question - ie that both the
        forward and reverse maps agree.
    
        But the new code doesn't do that check at all.  Rather it simply
        maps the address to a name, then discards the address and maps the
        name back to a list of addresses and uses that list of addresses as
        "where the request came from" for permission checking.
    
    This bug is exploitable via the following scenario and could allow an
    attacker access to data that they shouldn't be able to access.
    
        Suppose you export a filesystem to some subnet or FQDN and also to a
        wildcard or netgroup, and I know the details of this (maybe
        showmount -e tells me) Suppose further that I can get IP packets to
        your server..
    
        Then I create a reverse mapping for my ipaddress to a domain that I
        own, say "black.hat.org", and a forward mapping from that domain to
        my IP address, and one of your IP addresses.
    
        Then I try to mount your filesystem.  The IP address gets correctly
        mapped to "black.hat.org" and then mapped to both my IP address and
        your IP address.
    
        Then you search through all of your exports and find that one of the
        addresses: yours - is allowed to access the filesystem.
    
        So you create an export based on the addrinfo you have which allows
        my IP address the same access as your IP address.
    
    Fix this by instead using the forward lookup of the hostname just to
    verify that the original address is in the list. Then do a numeric
    lookup using the address and stick the hostname in the ai_canonname.
    
    Reviewed-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7235a2164aabfd8dba1f7e1577047bda45053db0
Author: James Pearson <james-p@moving-picture.com>
Date:   Tue Jun 7 16:25:13 2011 -0400

    exports: Clearly Defining Exports Priorities
    
    Added some verbiage to the exports(5) man page
    that clearly explains the precedence around
    how exports will work with regard to netgroups.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a36f2437caffb23c68fdc0900544d59198bd52b6
Author: Neil Brown <neilb@suse.de>
Date:   Tue Jun 7 13:18:55 2011 -0400

    Document "-n" for svcgssd
    
    The svcgssd man page doesn't mention the "-n" flag.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 40aed2c3fb5164195a9975ae7f15ebd4b992839d
Author: Pavel Shilovsky <piastry@etersoft.ru>
Date:   Tue Jun 7 13:18:13 2011 -0400

    mountd: Fix missing varialble assignment in auth_unix_gid
    
    When we get into auth_unix_gid at the second time, groups_len
    is not 0 and ngroups variable leave as 0. Then we use ngroups
    in getgrouplist that fails in this case. This patch fixes it.
    
    Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8935933dedcd820c2fb3dddff8b79fd5841dc217
Author: Benny Halevy <bhalevy@panasas.com>
Date:   Mon May 23 08:37:17 2011 -0400

    nfsstat: reorder nfs4 stats for 2.6.38 and up
    
    match order in 2.6.38, 2.6.39 (-rc3) and development tree
    while at it, get rid of obsolete ds_write and ds_commit
    
    Signed-off-by: Benny Halevy <bhalevy@panasas.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 27dcd8a775024160e741cce53e4a402eaac3501d
Author: NeilBrown <neilb@suse.de>
Date:   Mon May 23 08:23:51 2011 -0400

    supress socket error when address family is not supported
    
    From: Suresh Jayaraman <sjayaraman@suse.de>
    
    It was observed that when ipv6 module was not loaded and cannot be auto-loaded,
    when starting NFS server, the following error occurs:
    	"rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address
    	family not supported by protocol)"
    
    This is obviously a true message, but does not represent an "error" when ipv6
    is not enabled.  Rather, it is an expected condition.  As such, it can be
    confusing / misleading / distracting to display it in this scenario.
    
    This patch instead of throwing error when a socket call fails with
    EAFNOSUPPORT, makes it as a NOTICE.
    
    Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
    Signed-off-by: Neil Brown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7a802337bfc92d0b30fe94dbd0fa231990a26161
Author: NeilBrown <neilb@suse.de>
Date:   Mon May 23 08:19:57 2011 -0400

    Remove risk of nfs_addmntent corrupting mtab
    
    nfs_addmntent is used to append directly to /etc/mtab.
    If the write partially fail, e.g. due to RLIMIT_FSIZE,
    truncate back to original size and return an error.
    
    See also https://bugzilla.redhat.com/show_bug.cgi?id=697975
    (CVE-2011-1749) CVE-2011-1749 nfs-utils: mount.nfs fails to anticipate RLIMIT_FSIZE
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 56f537535190d034039570bafd9a0de71b79b8f1
Author: Ben Myers <bpm@sgi.com>
Date:   Mon May 23 08:07:00 2011 -0400

    exportfs: getexportent interprets -test-client- as	default options
    
    With commit 1374c3861abdc66f3a1410e26cc85f86760b51dd Neil added a
    -test-client- export to test the exportability of filesystems when exportfs
    is run.  When using the old cache controls (i.e. /proc/fs/nfsd is not
    mounted) exportfs will read /proc/fs/nfs/exports to process existing
    exports and find these test client entries.  The dash at the beginning of
    -test-client- will be cause getexportent to look for default options in the
    rest of the string, which test-client- will not match:
    
    exportfs: /proc/fs/nfs/exports:1: unknown keyword "test-client-(rw"
    
    This patch resolves that problem (as Steve suggested) by not processing any
    default options if we are reading the list of existing exports from the
    kernel.  Default options are converted to individual exports by exportfs so
    the kernel won't have any regardless.
    
    Signed-off-by: Ben Myers <bpm@sgi.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c8e802c036a3f0fcd4481dae8b3ec09fb71f4118
Author: Jim Rees <rees@umich.edu>
Date:   Wed May 18 12:42:02 2011 -0400

    Removed compilation warnings from mountd/cache.c
    
    Commit 5604b35a6 introduced a number of missing initializer
    warnings that were missed. This patch removes those warnings.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 68f7938c85258a8c54b13169dcdeae61cc1bf286
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Apr 26 13:32:35 2011 -0400

    nfsstat: Output headings mislabled
    
    The badclnt and badauth headers were reversed
    when the server side rpc stats (-s -o rpc) were
    displayed.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 2e4a7e9b50a641dc8640a5dd911ee4a2f0b2c073
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Apr 19 12:31:30 2011 -0400

    rpc.svcgssd: Segmentation fault on error
    
    Commit 544ed73d introduced a regression that caused
    rpc.svcgssd to seg fault on "Wrong principal in request"
    errors in gss_accept_sec_context()
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5604b35a61e22930873ffc4e9971002f578e7978
Author: Sean Finney <sean.finney@sonyericsson.com>
Date:   Tue Apr 19 11:04:35 2011 -0400

    nfs-utils: Increase the stdio file buffer size for procfs files
    
    Previously, when writing to /proc/net/rpc/*/channel, if a cache line
    were larger than the default buffer size (likely 1024 bytes), mountd
    and svcgssd would split writes into a number of buffer-sized writes.
    Each of these writes would get an EINVAL error back from the kernel
    procfs handle (it expects line-oriented input and does not account for
    multiple/split writes), and no cache update would occur.
    
    When such behavior occurs, NFS clients depending on mountd to finish
    the cache operation would block/hang, or receive EPERM, depending on
    the context of the operation.  This is likely to happen if a user is a
    member of a large (~100-200) number of groups.
    
    Instead, every fopen() on the procfs files in question is followed by
    a call to setvbuf(), using a per-file dedicated buffer of
    RPC_CHAN_BUF_SIZE length.
    
    Really, mountd should not be using stdio-style buffered file operations
    on files in /proc to begin with.  A better solution would be to use
    internally managed buffers and calls to write() instead of these stdio
    calls, but that would be a more extensive change; so this is proposed
    as a quick and not-so-dirty fix in the meantime.
    
    Signed-off-by: Sean Finney <sean.finney@sonyericsson.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9274e94db85bac04e170414cb8e0f4be271cde90
Author: Sean Finney <sean.finney@sonyericsson.com>
Date:   Tue Apr 19 11:05:47 2011 -0400

    mountd: Use a dynamic buffer for storing lists of gid's
    
    Previously, in auth_unix_gid, group lists were stored in an array of
    hard-coded length 100, and in the situation that the group lists for a
    particular call were too large, the array was swapped with a dynamically
    allocated/freed buffer.  For environments where users are commonly in
    a large number of groups, this isn't an ideal approach.
    
    Instead, use malloc/realloc to grow the list on an as-needed basis.
    
    Signed-off-by: Sean Finney <sean.finney@sonyericsson.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a99269230a0e77e7bed4fa31c9547f0d61c7f206
Author: Karel Zak <kzak@redhat.com>
Date:   Wed Apr 6 12:39:21 2011 -0400

    mount: add --enable-libmount-mount
    
    This patch allows to link mount.nfs with libmount from util-linux >=
    v2.19. The new libmount based code is enabled by CONFIG_LIBMOUNT and
    is stored in mount_libmount.c. The old code is not affected by this
    change.
    
    The libmount does not have officially stable API yet, so the
    --enable-libmount-mount is marked as experimental in the configure
    help output.
    
    The ./configure option is the same as we use in util-linux to enable
    support for libmount in mount(8).
    
    The addr= (and some other options necessary for remount/umount) are
    stored to /etc/mtab or to /dev/.mount/utab. The utab file is *private*
    libmount file. It's possible that some mount options (for example
    user=) will be moved to kernel, so the utab will not be necessary.
    
    About libmount:
    
      * supports systems without and with regular /etc/mtab
      * does not store VFS and FS mount options in userspace
      * manages user= option and evaluate permissions
      * parses VFS mount options and generate MS_* flags
      * parses /etc/{fstab,mtab}, /proc/mounts or /proc/self/mountinfo
      * long-term goal is to use the same code in all mount.<type> helpers
    
    Note, use
    
       LIBMOUNT_DEBUG=0xffff mount.nfs foo:/path /path
    
    to debug the library.
    
    On systems with util-linux v2.19 the findmnt(8) command uses libmount
    to list all/selected mount points:
    
       $ findmnt /path
       $ findmnt --mtab /path
    
    the --mtab appends userspace mount options (e.g. user=) to the output.
    
    CC: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Karel Zak <kzak@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c01e5ca6179b8f5b041605d9bbd75a0f76812d54
Author: Karel Zak <kzak@redhat.com>
Date:   Wed Apr 6 11:36:40 2011 -0400

    mount: move generic functions to utils.c and network.c
    
    Move generic code that could be shared between standard mount.nfs and
    libmount version to utils.c and network.c.
    
    CC: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Karel Zak <kzak@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit d6c1b35c6b40243bfd6fba2591c9f8f2653078c0
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Apr 6 11:25:03 2011 -0400

    nfs-utils: Add support to svcgssd to limit the negotiated enctypes
    
    Recent versions of Kerberos libraries negotiate and use
    an "acceptor subkey".  This negotiation does not consider
    that a service may have limited the encryption keys in its
    keytab.  A patch (http://src.mit.edu/fisheye/changelog/krb5/?cs=24603)
    has been added to the MIT Kerberos code to allow an application
    to indicate that it wants to limit the encryption types negotiated.
    (This functionality has been available on the client/initiator
    side for a while.  The new patch adds this support to the
    server/acceptor side.)
    
    This patch adds support to read a recently added nfsd
    proc file to determine the encryption types supported by
    the kernel and calls the function to limit encryption
    types negotiated for the acceptor subkey.
    
    Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 73840ef610accf4cf667427bc64805377c0d8394
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Apr 6 10:53:57 2011 -0400

    exports: add a configurable time-to-live for the kernel	cache entries
    
    From: Trond Myklebust <Trond.Myklebust@netapp.com>
    
    The fedfs ldap server will specify a ttl for its entries.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    
    This is a refactoring change only.  There should be no change in
    behavior.
    
    Original patch had updates to utils/mountd/junctions.c, which no
    longer exists.  These are not included here.
    
    Create a macro for the default cache TTL, which is used in several
    places besides the export cache.
    
    Make e_ttl unsigned.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 38e4c685410885a6d464ddd44eff4fd5e7f8459f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Apr 6 10:49:52 2011 -0400

    statd: Remove vestigial "-w" option from man page synopsis
    
    The synopsis of rpc.statd in its man page lists "-w" as a valid
    option.  There is currently no support in the source code for a "-w"
    option.
    
    BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=199
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b57cd77c13831051ad974ae027d96cd88a8d0c59
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Apr 6 10:48:38 2011 -0400

    mount.nfs: Don't leak socket in nfs_ca_sockname()
    
    Ensure the test socket is always closed before nfs_ca_sockname()
    returns.  Otherwise it's orphaned.
    
    BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=197
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 502eef09d8050ffb87d394397c2780e1ef042d68
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Apr 6 10:46:06 2011 -0400

    Removed a warning from v4root.c
    
    v4root.c:176:9: warning: variable 'ret' set but not used
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c2fa189a0467c25666f014cf9ff2576a9f54d682
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Apr 6 10:39:10 2011 -0400

    Removed a warning from exportfs.c
    
    exportfs.c:280:29: warning: 'exp' may be used uninitialized in this function
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b98ae9df8c4904289c9390288325058b24caa423
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Apr 6 10:36:30 2011 -0400

    Removed a warning from conffile.c
    
    conffile.c:258:19: warning: 'j' may be used uninitialized in this function
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 012e1a4bf2a002e8cd4d5be3478bfa20a91cbfed
Author: Masatake YAMATO <yamato@redhat.com>
Date:   Mon Mar 7 08:36:19 2011 -0500

    Update man pages for /etc/exports.d
    
    Man page updates for /etc/exports.d.
    
    Signed-off-by: Masatake YAMATO <yamato@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c7427b57e2be8ef0d57ad0618d4590c062b130f5
Author: Masatake YAMATO <yamato@redhat.com>
Date:   Mon Mar 7 08:18:51 2011 -0500

    Read /etc/exports.d/*.export as extra export files
    
    This patch adding a capability to read /etc/exports.d/*.exports as
    extra export files to exportfs.
    
    If one wants to add or remove an export entry in a script, currently
    one may have to use sed or something tool for adding or removing the
    line for the entry in /etc/exports file.
    
    With the patch, adding and removing an entry from a script is much
    easier.
    cat<<EOF... or mv can be used for adding. rm can be used for removing.
    
    Signed-off-by: Masatake YAMATO <yamato@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit edb9b7f2ab9806afb9af31eabeb505fe454c51df
Author: Steve Dickson <steved@redhat.com>
Date:   Sat Mar 5 16:17:01 2011 -0500

    Cleaned up a warning in rpcdispatch.c
    
    rpcdispatch.c:40:20: warning: comparison between signed and unsigned
    integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 930323817b61877d61fb8ef57229013daa2e6091
Author: Steve Dickson <steved@redhat.com>
Date:   Sat Mar 5 16:13:01 2011 -0500

    mount: Remove MOUNT_CONFIG warnings
    
    The following changes are needed to remove compile warnings when
    MOUNT_CONFIG is not defined
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 3ef3dc8f1e87ba7a6eaa3c2a6965aff6c80ba414
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Mar 3 17:26:33 2011 -0500

    mount: Recognize zero as a valid value for the port= option
    
    While zero is not a valid IP port number, zero does represent a valid
    value for "port=".  It means "query rpcbind to discover the actual
    non-zero port number to use".  So the parsing functions that handle
    "port=" should not flag zero as an invalid value.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b3a4dbfb61dad59829f5191d727267b2ea45937a
Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
Date:   Wed Feb 9 11:29:42 2011 -0500

    Gssd: modify wrong err message at handle_gssd_upcall
    
    Modify wrong err message at handle_gssd_upcall when
    sscanf encryption types fail.
    
    Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 45e4597bd570ed40221f51887cde7d7f096f55e7
Author: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Date:   Wed Feb 9 11:27:19 2011 -0500

    Support AD style kerberos automatically in rpc.gss
    
    An Active Directory KDC will only grant a TGT for UPNs, getting
    a TGT for SPNs is not possible:
    
    $ kinit -k host/ib5@ADS.ORCORP.CA
    kinit: Client not found in Kerberos database while getting initial
    credentials
    
    The correct thing to do for machine credentials is to get a TGT
    for the computer UPN <HOSTNAME>$@REALM:
    $ kinit -k IB5\$
    $ klist
    12/22/10 11:43:47  12/22/10 21:43:47  krbtgt/ADS.ORCORP.CA@ADS.ORCORP.CA
    
    Samba automatically creates /etc/krb5.keytab entry for the computer UPN,
    this patch makes gssd_refresh_krb5_machine_credential prefer it above
    the SPNs if it is present.
    
    The net result is that nfs client works automatically out of the box
    if samba has been used to setup kerberos via 'net ads join' 'net ads
    keytab create'
    
    Tested using Windows Server 2003 R2 as the AD server.
    
    Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 730f6986f86873513fa021a450eb55ccd0f2fbff
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Jan 26 07:49:19 2011 -0500

    Fixed segfault in rpc.mountd
    
    A unallocated piece of memory, instead of a NULL point, was being
    used to initialize a ->next point in the mount link list which
    caused a segfault after a few remote accesses via the showmount
    command.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 544ed73d5ab27c1390833d5cf93b9585c151667d
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Jan 14 10:12:28 2011 -0500

    Improve debugging in svcgssd
    
    Added in gss_display_error() which translates the GSS error into the
    actual GSS macro name. Currently only the translation of these errors
    are logged. Since those translations are buried deep in the kerberos
    library code, having the actual GSS macro name makes it easier to
    follow the code.
    
    Moved the nfs4_init_name_mapping() call into main() so if debug is
    enabled the DNS name and realms will be logged during start up.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 57be18b9ab08148a1cc9d5af588119885720be8b
Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
Date:   Tue Jan 4 11:16:45 2011 -0500

    libnsm.a: modify return value to false from 0 at nsm_drop_privileges()
    
    At nsm_drop_privileges(), for improving readability, unify
    the return value.
    
    Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5c498280fd9353ded3ea169841079bdae23418e2
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Dec 13 14:50:45 2010 -0500

    libnsm.a: sm-notify sometimes ignores monitored hosts
    
    Monitored host information is stored in files under /var/lib/nfs.
    When visiting entries in the monitored hosts directory, libnsm.a
    examines the value of dirent.d_type to determine if an entry is a
    regular file.
    
    According to readdir(3), the d_type field is not supported by all
    file system types.  My root file system happens to be one where d_type
    isn't supported.  Typical installations that use an ext-derived root
    file system are not exposed to this issue, but those who use xfs, for
    instance, are.
    
    On such file systems, not only are remote peers not notified of
    reboots, but the NSM state number is never incremented.  A statd warm
    restart would not re-monitor any hosts that were monitored before
    the restart.
    
    When writing support/nsm/file.c, I copied the use of d_type from the
    original statd code, so this has likely been an issue for some time.
    
    Replace the use of d_type in support/nsm/file.c with a call to
    lstat(2).  It's extra code, but is guaranteed to work on all file
    system types.
    
    Note there is a usage of d_type in gssd.  I'll let gssd and rpcpipefs
    experts decide whether that's worth changing.
    
    Fix for:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=193
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 089df7c754d9ebab0a7b804f396626ac95fee2e6
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Dec 13 14:47:42 2010 -0500

    libnsm.a: Replace __attribute_noinline__
    
    Replace the __attribute_noinline__ form with
    
      __attribute__((__noinline__)).
    
    Even though the compiler didn't complain about __attribute_malloc__,
    also replace those in order to maintain consistent style throughout the
    source file.
    
    Fix for:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=194
    
    Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7869a76207d3f4b3bd4ab57b4a7a8807ac2ff0c6
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Dec 13 14:36:15 2010 -0500

    sm-notify: Make use of AI_NUMERICSERV conditional
    
    Gabor Papp reports nfs-utils-1.2.3 doesn't build on his system that
    uses glibc-2.2.5:
    
    make[3]: Entering directory
    `/home/gzp/src/nfs-utils-1.2.3/utils/statd'
    gcc -DHAVE_CONFIG_H -I. -I../../support/include   -D_GNU_SOURCE -Wall
    	-Wextra -Wstrict-prototypes  -pipe -g -O2 -MT sm-notify.o -MD
    	-MP -MF .deps/sm-notify.Tpo -c -o sm-notify.o sm-notify.c
    	sm-notify.c: In function 'smn_bind_address':
    sm-notify.c:247: error: 'AI_NUMERICSERV' undeclared (first use in this
    function)
    sm-notify.c:247: error: (Each undeclared identifier is reported only
    once
    sm-notify.c:247: error: for each function it appears in.)
    make[3]: *** [sm-notify.o] Error 1
    
    According to the getaddrinfo(3) man page, AI_NUMERICSERV is available
    only since glibc 2.3.4.  getaddrinfo(3) seems to convert strings
    containing a number to the right port value without the use of
    AI_NUMERICSERV, so I think we can survive on older glibc's without it.
    It will allow admins to specify service names as well as port numbers
    on those versions.
    
    There are uses of AI_NUMERICSERV in gssd and in nfs_svc_create().  The
    one in nfs_svc_create() is behind HAVE_LIBTIRPC, and the other is a
    issue only for those who want to deploy Kerberos -- likely in both
    cases, a more modern glibc will be present.  I'm going to leave those
    two.
    
    Fix for:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=195
    
    Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e8dbaddc8465dcd07b53f8e80a537703dd0248ca
Author: Sid Moore <learnmost@gmail.com>
Date:   Fri Dec 3 09:19:06 2010 -0500

    rpc.mountd: Checking RPC Procedure ID before process it
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 3c6973c595d62dc6452967d50ae8abe69f9f8bad
Author: Mi Jinlong <mijinlong@cn.fujitsu.com>
Date:   Mon Nov 29 10:59:10 2010 -0500

    libnfs.a: fix a bug when parse section's arg
    
    When parsing section's arg at configure file, the pointer
    should stop when fetch ']', and give the warning message.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 86f7be64cafd17d4a3f164603484eaedb4757431
Author: Harshula Jayasuriya <harshula@redhat.com>
Date:   Mon Nov 22 11:22:31 2010 -0500

    nfs-utils: nfsstat: has_stats() does not function correctly for NFSv4 client stats
    
    The NFSv4 client procs/ops in "struct rpc_procinfo nfs4_procedures" is
    used to generate the NFS client stats interface:
    ------------------------------------------------------------
    net 0 0 0 0
    rpc 15 0 0
    proc2 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    proc3 22 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0
    proc4 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
    0 0 0
    0 0 0 0 0 0 0
    ------------------------------------------------------------
    Note, for proc4, the number 42. That is the number of stats that follow
    on the same line. Currently nfsstat's has_stats() relies on this number
    to be equal to CLTPROC4_SZ. Unfortunately this is not the case. I have
    changed has_stats() not to rely on these two values being equal. This
    should also allow nfsstat to work with different kernel versions that
    expose a different number of NFS client ops.
    
    * Fix has_stats()
    * Stop print_clnt_list() printing server stats!
    * Describe the option -3 and -4 completely in the nfsstat manpage.
    
    Signed-off-by: Harshula Jayasuriya <harshula@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0868dcccb9a3bf3d022a32ff31311fe371484e77
Author: Steve Dickson <steved@redhat.com>
Date:   Sat Nov 20 15:01:21 2010 -0500

    Enable nfsidmap to compile
    
    Only enable the compilation of nfsidmap when libnfsidmap support it.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6f07548141e710767d425e119d9823691293771d
Author: Bryan Schumaker <bjschuma@netapp.com>
Date:   Fri Nov 19 12:01:10 2010 -0500

    Add the new nfsidmap program
    
    This patch adds the nfsidmap program to nfs-utils.  This program is
    called by the nfs idmapper through request-keys to map between
    uid / user name and gid / group name.
    
    Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 409487978593de13ae36be0ee56d8111ad6b3319
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Nov 22 11:33:37 2010 -0500

    Removed a couple warnings from utils/mount/stropts.c
    
    stropts.c:740:6: warning: 'ret' may be used uninitialized in this function
    stropts.c:653:6: warning: 'ret' may be used uninitialized in this function
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f4968a724c1d4162a8e2b9f6a19c460cc56c95f7
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Oct 29 12:56:21 2010 -0400

    nfs(5): Document remount behavior
    
    It appears that, for a long while, NFS "remount" mounts have
    completely wiped the existing mount options in /etc/mtab for a given
    mount point.  This is a problem for umount.nfs, since it reads its
    options out of /etc/mtab to find out how to do the unmount.
    
    The mount(8) command provides the NFS mount subcommand with the mount
    options to perform the remount.  There are four cases to consider:
    
      1. Both the device and mount directory are specified on the
         command line, and the target mount point is in /etc/fstab
    
      2. Only one of the device and mount directory is specified on
         the command line, and the target mount point is in
         /etc/fstab
    
      3. Both the device and mount directory are specified on the
         command line, and the target mount point is not in /etc/fstab
    
      4. Only one of the device and mount directory is specified on
         the command line, and the target mount point is not in
         /etc/fstab
    
    Currently only case 4 works correctly.  In that case, mount(8)
    provides the correct set of mount options to the mount.nfs
    subcommand and it can update /etc/mtab correctly.
    
    Cases 1 and 3 replace all mount options in /etc/mtab with the options
    provided on the command line during a remount.  Case 2 replaces the
    mount options in /etc/mtab with a mix of options from /etc/fstab and
    /etc/mtab.
    
    Cases 1 and 3 are historical behavior.  Basically this is a formal
    interface to allow administrators to replace the mount options in
    /etc/mtab completely, instead of merging in new ones.  The present
    patch documents that behavior in nfs(5), and provides best practice
    for remounting NFS mount points.
    
    There are near-term plans to address case 2 by fixing mount(8)
    (provided by utils-linux-ng in most distributions).
    
    This is a partial fix for:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=188
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6d1a82b005994f759f2c847c0354413a24643da5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 28 13:15:22 2010 -0400

    nfs(5): Grammar and style fixes
    
    Clean up grammar and style issues introduced by recent updates.  Also,
    I'm not certain inappropriate options are always ignored.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit ab2cdb859f738a25e2567a2ec674cfa78a0a175d
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 28 13:13:19 2010 -0400

    mount.nfs: mnt_freq and mnt_pass are always zero
    
    Clean up.
    
    No need to pass constant zeros to add_mtab() from its only call site.
    Ensure that initialization of a struct mntent is consistent in both
    places that it is done.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit bc4a0c42570d5620cc1bb32428e16b9c9b5f3863
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 28 13:10:48 2010 -0400

    mount.nfs: Fix memory leak in nfs_sys_mount()
    
    This appears to have been left behind by last year's adjustments to
    how the extra_opts string is constructed.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1f237ac72e6f563908b350e11fd2bb866c003028
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 28 13:09:38 2010 -0400

    mount: Fix compiler warning in nfs_parse_retry_option()
    
    stropts.c: In function nfs_parse_retry_option:
    stropts.c:131: warning: conversion to unsigned int from long int may
    alter its value
    
    Make it more clear what the second argument is for, and flag the
    switch fallthrough case.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1ea2c3be33f2eb4630c5cdb78edf2bb670b294ab
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 28 12:12:12 2010 -0400

    nfs-utils: Remove all uses of AI_ADDRCONFIG
    
    It was reported that, if only "lo" is up,
    
      mount.nfs 127.0.0.1:/export /mount
    
    fails with "Name or service not known".
    
    "man 3 getaddrinfo" says this:
    
      If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4
      addresses are returned in the list pointed to by res only if the
      local system has at least one IPv4 address configured, and IPv6
      addresses are only returned if the local system has at least
      one IPv6 address configured.
    
    The man page oversimplifies here.  A review of glibc shows that
    getaddrinfo(3) explicitly ignores loopback addresses when deciding
    whether an IPv4 or IPv6 address is configured.
    
    This behavior around loopback is a problem not just for mount.nfs,
    but also for RPC daemons that have to start up before a system's
    networking is fully configured and started.  Given the history of
    other problems with AI_ADDRCONFIG and the unpredictable behavior it
    introduces, let's just remove it everywhere in nfs-utils.
    
    This fix addresses:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=191
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f8e315543b7f1db7f37a4bfe8ede3020cef62868
Author: Jeff Layton <jlayton@redhat.com>
Date:   Thu Oct 28 09:18:33 2010 -0400

    nfs-utils: fix default value for --enable-tirpc
    
    We need $enable_tirpc to be a tristate. 'yes' means that someone
    explicitly requested building with tirpc. 'no' means that it was
    explicitly disabled. Anything else means that no one specified a value.
    
    Fix it by setting the value to a blank string so that the default is
    properly undefined.
    
    Reported-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c62d756402509ca5d07c1fd4d2e5a9d78dc4171b
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Oct 19 15:54:35 2010 -0400

    Updated rpc.mountd man page
    
    Updated the rpc.mountd man page to no longer reference
    v3 as the "newer" version and also mentioned v4 as
    a supported version.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 79e9079e9af4e5c2aa1d77815df1147b26876eb8
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Oct 19 15:54:04 2010 -0400

    Cleared up the sync option in exportfs man page
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6f228ea26be06572de245aed5496aaa122cca5a8
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Oct 15 17:20:28 2010 -0400

    Removed duplicate entries in export man page
    
    The man page's paragraphs about "refer=" and "replicas="
    each appear twice.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 849b7072a04975bb5da09245fbcacb0cb754a909
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 14 10:33:25 2010 -0400

    mountd: Clear mountd registrations at start up
    
    Clear stale MNT registrations before mountd tries to create fresh
    listeners, to ensure that mountd starts.  This is also what statd does.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 93dcf64cc4a9e67f693aea35c8193428015f4a30
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 13:57:52 2010 -0400

    behavior as file systems that use the monolithic /sbin/mount command.
    See the MS_NOMTAB macro in utils-linux-ng/mount/mount.c.
    
    Note that mount(8) has MS_USERS and MS_USER in the "nomtab" category
    as well, but mount.nfs needs to record those values so that unmounting
    a user-mounted NFS file system can work.
    
    While we're here, fix some white space damage in fix_opts_string().
    
    This is a partial fix for:
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=188
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit dc08c702a6c7f824f317af561f491635ee898a71
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 13:55:10 2010 -0400

    umount.nfs: Distinguish between nfs4 and nfs mounts
    
    Neil Brown reports that umount.nfs is still confused by "-t nfs -o
    vers=4" mounts.
    
    /etc/mtab can be confused.  /proc/mounts is authoritative on the
    fstype of a mount.  Have umount.nfs consult it to determine which
    mechanism to use for unmounting.  The code to read /proc/mounts was
    lifted from the nfsstat command.
    
    The code introduced by this patch may look like belt-n-suspenders, but
    we have two use cases to consider:
    
      1.  Old kernels don't support the "vers=4" mount option, so
          umount.nfs must look for the "nfs4" fstype
      2.  Upcoming kernels may eliminate support the "nfs4" fstype, so
          umount.nfs must look for the "vers=4" mount option
    
    Thus this logic checks for "nfs4" first then looks for the NFS version
    setting.
    
    Note that we could handle unmounting entirely in the kernel, but that
    won't help older kernels that have this issue.
    
    See:
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=189
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 17962b82afb68ca8e6b0d3f432d36c6c7c4980ea
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 13:01:51 2010 -0400

    mount.nfs: mountproto does not support RDMA
    
    Clean up.  Our client does not support the MNT protocol on RDMA.
    
    nfs_mount_protocol() isn't invoked for RDMA mounts (they are shunted
    off before nfs_options2pmap() is invoked).  But in case it ever is,
    it should return the expected response.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 73c61fa5cd114fa6eae0e095724ed63aa66a4a6b
Author: NeilBrown <neilb@suse.de>
Date:   Wed Oct 13 12:08:41 2010 -0400

    gcc complained:
    
    client.c: In function 'init_netmask6':
    client.c:181:1: warning: no return statement in function returning
    non-void
    
    and Suse' build system complained
    
    I: Program returns random data in a function
    E: nfs-utils no-return-in-nonvoid-function client.c:181
    
    when I built without --enable-ipv6
    
    Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7e90281b88c05b01c61152b54a0cf2faec45b09c
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 12:02:32 2010 -0400

    mount.nfs: Eliminate compiler warnings in utils/mount/network.c
    
    Clean up.
    
    network.c: In function get_socket:
    network.c:431: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    
    network.c: In function probe_bothports:
    network.c:759: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    network.c:762: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    
    network.c: In function nfs_probe_statd:
    network.c:775: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    
    network.c: In function nfs_call_umount:
    network.c:904: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    
    network.c: In function nfs_ca_sockname:
    network.c:1106: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    network.c:1112: warning: dereferencing type-punned pointer might break
        strict-aliasing rules
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 57385cf87790c0cbdfddfccdde66bd2c8da45923
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:59:30 2010 -0400

    mount.nfs: Eliminate compiler warning in utils/mount/parse_opt.c
    
    parse_opt.c: In function po_rightmost:
    parse_opt.c:517: warning: conversion to int from unsigned int may
        change the sign of the result
    
    "i" contains the function's result value, so it should be defined as
    the same type as the function's return type.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1ee10ef034cbca86da4df271ac4097a948e7ab59
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:58:27 2010 -0400

    mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c
    
    Clean up.
    
    nfsumount.c:374: warning: ISO C forbids omitting the middle term of
       a ?: expression
    
    This is also probably harmless, but let's make the code unambiguous.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e9c97e4f7075e563d7a442ca8298ac56bafba0d5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:56:58 2010 -0400

    mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c
    
    Clean up.
    
    nfsumount.c:265: warning: no previous prototype for nfsumount
    
    It's also a good idea if the compiler can ensure that the prototype
    in nfsmount.h matches the actual function defined in nfsumount.c.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e2b6d9cbaf20df26dd371a715fce3ae158f37126
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:54:49 2010 -0400

    mount.nfs: Eliminate compiler warnings in utils/mount/mount.c
    
    Clean up.
    
    mount.c: In function parse_opt:
    mount.c:354: warning: conversion to size_t from int may change the
        sign of the result
    mount.c:354: warning: conversion to int from size_t may change the
        sign of the result
    mount.c:359: warning: conversion to size_t from int may change the
        sign of the result
    mount.c:359: warning: conversion to int from size_t may change the
        sign of the result
    mount.c: In function parse_opts:
    mount.c:374: warning: conversion to int from size_t may change the
        sign of the result
    mount.c:377: warning: conversion to size_t from int may change the
        sign of the result
    
    Character string lengths are usually size_t anyway.  We can easily
    avoid the implicit type cast here.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 013e8ec9ffb9f28f97e58299719023faf846a029
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:53:44 2010 -0400

    mount.nfs: Eliminate compiler warning in utils/mount/mount.c
    
    Clean up.
    
    mount.c: At top level:
    mount.c:324: warning: no previous prototype for ?mount_usage?
    
    mount_usage() has no callers outside of utils/mount/mount.c and no
    prototype is provided in a header file.  Make it static.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 47480475c99335c1203e81662f815b62573c19e8
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:50:57 2010 -0400

    mount.nfs: Eliminate compiler warnings in utils/mount/version.h
    
    Clean up.
    
    In file included from mount.c:50:
    version.h: In function linux_version_code:
    version.h:48: warning: conversion to unsigned int from int may
        change the sign of the result
    version.h:48: warning: conversion to unsigned int from int may
        change the sign of the result
    version.h:48: warning: conversion to unsigned int from int may
        change the sign of the result
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 00885013dccbe00f5cc4e19223cf18e85a8e616a
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:44:23 2010 -0400

    mount.nfs: Eliminate compiler warning in utils/mount/mount.c
    
    Clean up.
    
    In file included from mount.c:41:
    mount_config.h:35: warning: no previous prototype for mount_config_opts
    
    Functions defined in include files are usually declared as "static
    inline," eliminating the need for a forward declaration.
    
    While I was there, I also fixed the macro that prevents including
    mount_config.h multiple times, and fixed some white space damage.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit ffa577350b03ddd421d455a8cd4cff86e3718264
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:38:22 2010 -0400

    mount.nfs: Eliminate compiler warnings
    
    Clean up.
    
    fstab.c: In function ?lock_mtab?:
    fstab.c:385: warning: declaration of ?errsv? shadows a previous local
    fstab.c:367: warning: shadowed declaration is here
    fstab.c:407: warning: declaration of ?errsv? shadows a previous local
    fstab.c:367: warning: shadowed declaration is here
    fstab.c:417: warning: declaration of ?tries? shadows a previous local
    fstab.c:325: warning: shadowed declaration is here
    fstab.c:422: warning: declaration of ?errsv? shadows a previous local
    fstab.c:367: warning: shadowed declaration is here
    
    These are probably harmless.  Reusing a variable name, however, is a
    little confusing to follow when reading the code.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5fe118b838254023d83424c5010ae73a91ec267d
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Wed Oct 13 11:27:21 2010 -0400

    export: Ensure that we free struct exportent->e_uuid
    
    Currently, the exportent->e_uuid is initialised in
    support/nfs/exports.c:parseopts(), but it is never freed.
    
    Also ensure that exportent->e_uuid is duplicated correctly in
    dupexportent().
    
    Adjusted to account for the new export_free() helper.
    
    Also, e_uuid points to memory that is always allocated with strdup(3),
    not with xstrdup().  Thus it must be freed via free(3) and not via
    xfree().
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 656028f9925f5817c5a37565d27159973db84ec3
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Oct 13 11:22:07 2010 -0400

    libnfs.a: Allow multiple RPC listeners to share	listener port number
    
    Normally, when "-p" is not specified on the mountd command line, the
    TI-RPC library chooses random port numbers for each listener.  If a
    port number _is_ specified on the command line, all the listeners
    will get the same port number, so SO_REUSEADDR needs to be set on
    each socket.
    
    Thus we can't let TI-RPC create the listener sockets for us in this
    case; we must create them ourselves and then set SO_REUSEADDR (and
    other socket options) by hand.
    
    Different versions of the same RPC program have to share the same
    listener and SVCXPRT, so we have to cache xprts we create, and re-use
    them when additional requests for registration come from the
    application.
    
    Though it doesn't look like it, this fix was "copied" from the legacy
    rpc_init() function.  It's more complicated for TI-RPC, of course,
    since a TI-RPC application can set up listeners with a nearly
    arbitrary number of address families and socket types, not just the
    two listeners that legacy RPC applications can set up (one for AF_INET
    UDP and one for AF_INET TCP).
    
    See:
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=190
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1296be71ebae4c0d7da61cc1077d97562d3bc549
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Oct 13 10:17:58 2010 -0400

    nfs-utils: Fixed typo in NFS man page
    
    Chuck pointed out there was a grammar typo in addition to the spelling
    typo.  Here is a revised version of the patch.
    
    Signed-off-by: Jim Rees <rees@umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9afbdbad4436df6f7a5a501c6e4db04c3a5bbb08
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Oct 13 10:15:12 2010 -0400

    Fix style nits in atomicio.c
    
    Signed-off-by: Jim Rees <rees@umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c117b7a1f29db65d139824ba5bab2a58bf5609e2
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Oct 13 10:09:53 2010 -0400

    nfs-utils: Move common code into support
    
    There are several source files and headers present in the ./utils/idmapd
    directory which are also usable in a doimapd daemon. Because of this we
    move that support into the support directory such that it can be shared by
    both daemons.
    
    Signed-off-by: Jim Rees <rees@umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8c217b9623c8304608196aeb2f7360abfdf987c8
Author: Suresh Jayaraman <sjayaraman@suse.de>
Date:   Wed Sep 29 07:14:14 2010 -0400

    The kernel 2.6.37 has a add new mount option: local_lock.
    Document the new option in the nfs(5) man page.
    
    Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 554df6bc8456c6971c1c597f70d3b9131e4e5e11
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Sep 28 08:24:16 2010 -0400

    Revert "nfs-iostat.py: don't wait for an extra interval when given a count"
    
    This reverts commit 837796686ad8f9178c7b6855ada728a53ae511e3.