summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: efef742cd22a9f2bdf7ae0e27e42552e52545960 (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
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
commit 3030aded70e616cdeac4223785754b86a33b587d
Author: Eberhard Kuemmerle <e.kuemmerle@fz-juelich.de>
Date:   Mon Sep 27 13:24:48 2010 -0400

    Added the -p <principal> flag to the svcgssd manpage
    
    Signed-off-by:  Eberhard Kuemmerle <E.Kuemmerle@fz-juelich.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6cc96cada639a823961d5d8a136cbcdc8b8952b8
Author: Eberhard Kuemmerle <e.kuemmerle@fz-juelich.de>
Date:   Mon Sep 27 13:16:23 2010 -0400

    svcgssd: Adding a <-p principal> flag
    
    Allow the principal that is used to get the machines creds definable
    on the command like with the new '-p <principal>'. This is useful
    in cluster environments.
    
    Signed-off-by:  Eberhard Kuemmerle <E.Kuemmerle@fz-juelich.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 837796686ad8f9178c7b6855ada728a53ae511e3
Author: David Lecorfe <dlecorfec@gmail.com>
Date:   Mon Sep 27 13:29:31 2010 -0400

    nfs-iostat.py: don't wait for an extra interval when given a count
    
    If I invoke the tool with an interval of 10 and a count of 2, it will:
    - show the summary
    - sleep 10s
    - show the stats for the last 10s
    - sleep 10s
    - exit
    
    Signed-off-by: David Lecorfe <dlecorfec@gmail.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit eaa588a137b0b2f38aa9e9c542635a222e51ee48
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:16:34 2010 -0400

    nfsd: Enable IPv6 support in rpc.nfsd again.
    
    Revert commit b2a3cd59 so that rpc.nfsd can create IPv6 listener
    sockets for the kernel.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c18e9a780f376b868e62b75abe64b0fd9915ada5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:14:34 2010 -0400

    mountd: Update mountd/exportfs man pages to reflect IPv6 changes
    
    Document IPv6 support in rpc.mountd and exportfs, and clarify existing
    language in the man page.
    
    Clean up: Use bold consistently for program names, and italics
    consistently for file names.  Use "rpc.mountd" consistently as the
    name of the mountd daemon.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7e454e03131f56872639fe7b62b726479b22c087
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:13:39 2010 -0400

    mountd: Use MNT status values instead of NFSERR
    
    Clean up:  The MNT protocol has its own enum type defining error
    status values.  While the values can be the same as the NFSERR enum
    type on some systems, it's not guaranteed to be true everywhere.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit ef32b76ae37926faacaf4b8121eba638567c4692
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:11:18 2010 -0400

    mountd: Fix up version and usage messages
    
    Clean up: rpc.mountd is no longer known as kmountd.  Use the program's
    basename rather than the full pathname for the usage message.  Display
    a version message at start up similar to statd's.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 2c15cf2963367dee7106964c38ab7b1e30ba347d
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:09:49 2010 -0400

    mountd: Unregister mountd if my_svc_run() returns
    
    Fix a long standing bug: when my_svc_run() returns, mountd should
    unregister itself with the local rpcbind so that it can subsequently
    start cleanly.
    
    Log a more helpful error message in this case.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b551b1fd0052de9b8c674b30c39d9f2a1e9d79cc
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:09:10 2010 -0400

    mountd: Support TI-RPC mountd listener
    
    If TI-RPC is available, use it to create mountd's svc listener.  If
    not, use the old function, rpc_init(), to create mountd's listener.
    
    IPv6 can be supported if TI-RPC is available.  In this case,
    /etc/netconfig is searched to determine which transports to advertise.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c5571da8e92f87fc9ec6e8aa8075c69497361c87
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 10:06:35 2010 -0400

    mountd: Make NFS version checks more strict
    
    Ensure users and programmers specify NFS version numbers correctly.
    This also makes the next patch more clean.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 05f93b531d59df6e976d9b40c97b51546524040a
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Sep 27 09:50:11 2010 -0400

    nfs-utils: Fix source code character encoding
    
    Minor clean up.
    
    Most modern Linux distributions set UTF-8 locales.  Standardize the
    character encoding of source files on UTF-8, to squelch vim com-
    plaints.
    
    I probably missed a few spots.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5341111d4b34bcd1b1263d5ed215cbe375aa9314
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Sep 27 09:35:26 2010 -0400

    libnfs.a: Remove support/nfs/fstab.c
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 72ae199db4be7bf0092e15adaa8a43ce2434bf9f
Author: Jeff Layton <jlayton@redhat.com>
Date:   Thu Sep 16 14:34:39 2010 -0400

    rpc.nfsd: mount up nfsdfs is it doesn't appear to be mounted yet
    
    There's a bit of a chicken and egg problem when nfsd is run the first
    time. On Fedora/RHEL at least, /proc/fs/nfsd is mounted up whenever nfsd
    is plugged in via a modprobe.conf "install" directive.
    
    If someone runs rpc.nfsd without plugging in nfsd.ko first,
    /proc/fs/nfsd won't be mounted and rpc.nfsd will end up using the legacy
    nfsctl interface. After that, nfsd will be plugged in and subsequent
    rpc.nfsd invocations will use that instead.
    
    This is a problem as some nfsd command-line options are ignored when the
    legacy interface is used. It'll also be a problem for people who want
    IPv6 enabled servers. The upshot is that we really don't want to use the
    legacy interface unless there is no other option.
    
    To avoid this situation, have rpc.nfsd check to see if the "threads"
    file is already present. If it's not, then make an attempt to mount
    /proc/fs/nfsd.  This is a "best-effort" sort of thing, however so we
    just ignore the return code from the mount attempt and fall back to
    using nfsctl() if it fails.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 63afb96b9d36e72782ad25ca496896029a9d9061
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 14:25:52 2010 -0400

    libexport.a: Enable IPv6 support in hostname.c
    
    If --enable-ipv6 is specified when building nfs-utils, libexport's
    host_foo() helpers can now return both IPv4 and IPv6 addresses.
    
    This means IPv6 presentation addresses and IPv6 DNS resolution
    results are handled properly in the mountd cache and /etc/exports,
    but does not yet enable IPv6 mountd listeners.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit d901e329e380a2adc22783b1b241e414aa24cf51
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 14:21:48 2010 -0400

    mountd: Ensure cache downcall can handle IPv6 addresses
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1ba28ec59f39de0bc4953b42556d847efbb508eb
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 14:21:08 2010 -0400

    mountd: Handle IPv6 addresses in kernel auth_unix_ip upcalls
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit ffe8c9a084fec4fdd3acfcf4b36fbe434d297b82
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 14:19:19 2010 -0400

    mountd: clean up cache API
    
    Clean up: Squelch compiler warnings and document public parts of
    cache API.
    
    cache.c: At top level:
    cache.c:67: warning: no previous prototype for auth_unix_ip
    cache.c:123: warning: no previous prototype for auth_unix_gid
    cache.c:217: warning: no previous prototype for get_uuid
    cache.c:247: warning: no previous prototype for uuid_by_path
    cache.c:326: warning: no previous prototype for nfsd_fh
    cache.c:745: warning: no previous prototype for nfsd_export
    cache.c:820: warning: no previous prototype for cache_open
    cache.c:832: warning: no previous prototype for cache_set_fd
    cache.c:841: warning: no previous prototype for
    cache_process_req
    cache.c:921: warning: no previous prototype for cache_export
    cache.c:953: warning: no previous prototype for
    cache_get_filehandle
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6f189dae5eb38800c8ae3e2d5c098d11fb44d7d5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 14:17:08 2010 -0400

    exportfs: Enable IPv6 support in matchhostname()
    
    To gain IPv6 support in matchhostname(), simply replace the socket
    address comparison helpers with the generic versions that can handle
    IPv4 and IPv6.
    
    host_addrinfo() (called by matchhostname()) returns IPv6 addresses
    only if IPv6 support is enabled.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 10a6b17d3588647ab5e1ee81ba40f1ce12a5184d
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:54:21 2010 -0400

    mountd: Support IPv6 in mountlist_list()
    
    Replace inet_aton(3) and gethostbyaddr(3) calls in mountlist_list()
    with calls to the new host_foo() DNS helpers.
    
    The new functions will support IPv6 without additional changes, once
    IPv6 is enabled in the generic hostname helpers.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 76209cdbe989ee4cdfbf489f2695ac779457e763
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:51:51 2010 -0400

    mountd: Handle memory exhaustion in mountlist_list()
    
    I'm about to replace inet_aton(3)/gethostbyaddr(3) with
    host_pton()/host_canonname() in mountlist_list().
    
    Since host_canonname() returns a string allocated with strdup(3)
    instead of xstrdup(), mountlist_list() must now deal with memory
    exhaustion properly.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a8348c2c48d45f991995707fa22a2fa441aaa907
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:48:38 2010 -0400

    mountd: Add mountlist_freeall()
    
    I'm about to add a second bit of logic that needs to free all
    mountlist records, so introduce a helper for freeing them.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 454aea5dad83ca75f3154ff12ecff39169703e69
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:46:26 2010 -0400

    mountd: support IPv6 in mountlist_del_all()
    
    Replace IPv4-specific code in the mountlist_del_all() path with code
    that is address family agnostic.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 4210d6f0c9cad57907877bf1e5d32ebe4a27bf17
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:44:02 2010 -0400

    mountd: Support IPv6 in mountd's svc routines
    
    Replace IPv4-specific code with use of our generic hostname helpers
    in the routines that handle incoming MNT RPC requests.
    
    These functions will support IPv6 without additional changes, once
    IPv6 is enabled in the generic hostname helpers.
    
    As part of this update, I've modified all of mountd's _svc routines
    to use a debug message format that is consistent with statd.  It may
    be overkill for some of these; if so we can pull them out later.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f35762f959cc5f29ad7817f8b7968e3792132651
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 13:39:39 2010 -0400

    mountd: add IPv6 support in auth_authenticate()
    
    Make the entire auth_authenticate() code path address-family agnostic.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 29b8a7700129d9768e3e2d94c81eec9f84ba8691
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 09:32:52 2010 -0400

    libnfs.a: Fix API for getfh() & friends
    
    This is more of a clean-up than a behavioral change.
    
    POSIX requires that a "struct sockaddr" is the same size as a "struct
    sockaddr_in".  Therefore, a variable or field of type "struct sockaddr"
    cannot contain an AF_INET6 address.  However, "struct sockaddr *" is
    often used to reference a generic (ie non-address family specific)
    socket address, generating some confusion about this.
    
    The nfsctl_arg struct uses a struct sockaddr (not a pointer) to pass
    the client's IP address to the kernel.  This means the legacy nfsctl()
    kernel API can never support IPv6.  Fortunately for us, this legacy
    interface was replaced by a text-based cache interface a few years
    back.  We don't need to support non-AF_INET addresses here.
    
    The getfh() functions in nfs-utils provide a handy C API for the
    kernel's nfsctl interface.  The getfh() functions still take a struct
    sockaddr *, though, and that can imply that a non-IPv4 address can be
    passed via this API.  To make it abundantly clear that only IPv4
    addresses can be used with this interface, change the synopses of
    getfh() and friends to take a struct sockaddr_in * instead of a struct
    sockaddr * .
    
    This makes these functions conform with other places in mountd and
    exportfs that already grok the difference between a struct sockaddr
    and a struct sockaddr_in.
    
    While we're here...
    
    Introduce some nice documenting comments for the get_fh() functions,
    and...
    
    Since mountd will support IPv6 in the near future, assert that the
    family of client addresses passed to this API is indeed AF_INET, in
    order to prevent non-AF_INET addresses from ever being passed to the
    legacy nfsctl() interface.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a88c279992f4b63e3dcaac9930e300fd4bb03dd7
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 07:28:18 2010 -0400

    mount.nfs: Don't do anything fancy if this is a remount
    
    We don't want to append "vers=4" or perform any negotiation if the
    "remount" mount option was specified.  It will just end in tears.
    
    This attempts to address
    
      https://qa.mandriva.com/show_bug.cgi?id=60311
    
    and
    
      https://bugzilla.linux-nfs.org/show_bug.cgi?id=187
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6f73daf5a5711dc0620f7d43c61c4fd57c0d3f80
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 16 07:26:07 2010 -0400

    mount.nfs: Refactor mount version and protocol autonegotiation
    
    Clean up.
    
    I'm beginning to agree with Bruce and Steve's assessment that the
    fallthrough switch case in nfs_try_mount() is more difficult to read
    and understand than it needs to be.  The logic that manages
    negotiating NFS version and protocol settings is getting more complex
    over time anyway.
    
    So let's split the autonegotiation piece out of nfs_try_mount().
    
    We can reduce indenting, and use cleaner switch-based logic.  Also,
    adding more comments can only help.
    
    Neil also suggested replacing the pre-call "errno = 0" trick.  The
    lower-level functions may try to mount several times (given a list of
    addresses to try).  errno could be set by any of those.  The mount
    request will succeed at some point, and "success" is returned, but
    errno is still set to some non-zero value.
    
    The kernel version check in nfs_try_mount() is more or less loop
    invariant: it's impossible for the result of that test to change
    between retries.  So we should be able to safely move it to the logic
    that sets the initial value of mi->version.
    
    This patch is not supposed to cause a behavioral change.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 64bf8db367fd43e80dd135b460afc157808647fa
Author: Bian Naimeng <biannm@cn.fujitsu.com>
Date:   Thu Sep 16 07:12:47 2010 -0400

    rpc.idmapd: Type of idmap client should be defined by ic_id not ic_clid.
    
    The type of idmap_client is defined by idmap_client.ic_id for nfs,
    so nfsd should have the same style.
    
    Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7f77ef90ad52eced1552efc2242e063aa4501ddc
Author: Benny Halevy <bhalevy@panasas.com>
Date:   Tue Jul 20 08:40:34 2010 +0300

    nfsstat: add release_lockowner to client stats
    
    Signed-off-by: Benny Halevy <bhalevy@panasas.com>

commit bf6da0a22d971364dae25ec2f62c01fbd2960f07
Author: Steve Dickson <steved@redhat.com>
Date:   Thu Sep 9 10:47:32 2010 -0400

    Cleaned up a warning from commit 44f09b7
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 911630538580cdaaee1c37cdf1a8b35b8ed6b23f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Sep 8 13:28:24 2010 -0400

    mount.nfs: Prepare way for "vers=4,rdma" mounts
    
    At some point, when the kernel starts to support "vers=4,rdma" mounts,
    we will want the mount.nfs command to pass "vers=4,rdma" mounts
    instead of rejecting them.
    
    Assuming that the kernel will reject these today with EPROTONOSUPPORT,
    that would cause the version fallback logic to go to "vers=3,rdma"
    automatically.  So the extra check we have now is not needed anyway.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f99d1b8e8768ab96b51bed52f21a626ac9a4797f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Sep 8 13:27:31 2010 -0400

    mount.nfs: Support an "rdma" mount option
    
    The kernel NFS client's mount option parser recognizes a stand-alone
    "rdma" mount option, similar to the legacy "udp" and "tcp" options.
    
    The mount.nfs command text-based mount option parser used to pass
    "rdma" straight to the kernel, but since we've started handling MNT in
    the kernel instead of in user space, "rdma" on the command line has
    not worked.
    
    Until now, no-one has noticed, especially since an "rdma" mount option
    isn't documented in nfs(5).
    
    Support "rdma" in mount.nfs command, and document it in nfs(5).
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 44f09b7c4c79ca184a29138078c68a4db7aeb85a
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Sep 8 13:26:34 2010 -0400

    mount.nfs: Use nfs_nfs_protocol() for checking for	proto=rdma
    
    Clean up: Now that nfs_get_proto() can recognize "rdma" we can re-use
    nfs_nfs_protocol() instead of ad hoc checks for "proto=rdma".
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a77ca5c6a79486dc8c5a4c327fe5310f5d497766
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Sep 8 13:25:56 2010 -0400

    getport: Recognize "rdma" and "rdma6" netid
    
    The mount.nfs command must recognize the values of "rdma" and "rdma6"
    with the "proto=" mount option.  Typically the mount.nfs command
    relies on libtirpc or getprotobyname(3) to recognize netids and
    translate them to protocol numbers.
    
    RFCs 5665 and 5666 define the "rdma" and "rdma6" netids.  IANA defines
    a specific port number for NFS over RDMA (20049), but has not provided
    a protocol name and number for RDMA transports, and is not expected
    to.  The best we can do is translate these by hand, as needed, to get
    RDMA mount requests to the kernel without erroring out.
    
    Only the forward translation is needed until such time that "rdma" and
    "rdma6" start to appear in rpcbind registries.  For now, the version
    and transport negotiation logic is skipped, avoiding rpcbind queries
    for RDMA mounts.
    
    Note: As of kernel 2.6.36, the kernel's NFS over RDMA transport
    capability does not support IPv6.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 57f36cd692c56b3b62705b5fafef4c25561a39ff
Author: Guillaume Rousse <Guillaume.Rousse@inria.fr>
Date:   Thu Sep 9 10:33:47 2010 -0400

    Clarification about options supported by different versions
    
    Signed-off-by: Guillaume Rousse <Guillaume.Rousse@inria.fr>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b7df3370555877598d9f2ef49fae2ad4458e9f72
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Sep 9 10:27:17 2010 -0400

    libexport.a: Refactor init_netmask()
    
    Instead of a single function that can handle both AF_INET and AF_INET6
    addresses, two separate functions might be cleaner.
    
    The original plan was to keep code redundancy at a minimum, but the
    resulting code was cumbersome at best.  I think I've traded a little
    extra code for something that will be much easier to read, understand,
    and maintain.
    
    I've also eliminated the "#if / #endif" instances inside the functions.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 60abb9889cea52022adf9c8bb946e9d19d79f9ed
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 31 15:31:57 2010 -0400

    libexport.a: IPv6 support in client_check()
    
    Introduce support for IPv6 in client_check()'s helpers.  The local
    addrs_match() twins are no longer needed since we can use
    nfs_compare_addrs() now.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 965b15b855c0c621462256b0ab687fc32644255a
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 31 15:30:14 2010 -0400

    libexport.a: IPv6 support for client_init_subnet()
    
    To parse and store an IPv6 host or subnet address, init_netmask()
    needs to handle 128 bit subnet masks.
    
    Unfortunately what once was a pretty simple little function has grown
    much larger.  This logic must now not only parse IPv6 addresses
    correctly, but must also distinguish between IPv4 and IPv6.
    
    To avoid code duplication, I'm "bending" the cardinal rule of not
    using "#ifdef" inside functions.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 2824097496f6b154befbf3b3d15dacf237b07f83
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 31 15:29:02 2010 -0400

    libexport.a: Prepare init_subnetwork() for IPv6 support
    
    Retire the slash32 logic in inet_netmask() in favor of a more generic
    netmask parser that can support IPv6 addresses.
    
    If an invalid IP address string is given to inet_addr(3), it returns
    INADDR_NONE, which is actually a "valid" address (255.255.255.255).
    We're none the wiser to the substitution until something breaks later.
    
    This patch provides better sanity checking of the parsed address, now
    that such an error can be reported to client_init()'s callers.
    We can also check the prefixlen value a little more carefully as well.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 03fc34b23c2bff48f54c2d889d7851a31fb64a3d
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 31 15:27:19 2010 -0400

    libexport.a: Use host helper to parse address in client_init()
    
    Take the first step towards making it possible to parse either IPv4 or
    IPv6 addresses in client_init().  It won't handle IPv6 until
    host_pton() has IPv6 support enabled, and it still doesn't deal with
    IPv6 netmasks yet.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 502edf1df5e727cf88b19b634f60392652f35ddc
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 31 15:25:35 2010 -0400

    libexport.a: Prepare to recognize IPv6 addresses in	client_gettype()
    
    The current open-coded parsing logic in client_gettype() will be hard
    to modify to recognize IPv6 addresses.  Use a more generic mechanism
    for detecting IP presentation addresses.
    
    IPv6 will be enabled automatically in client_gettype() when host_pton()
    is changed to support IPv6 addresses.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 26fd34002585e6a5aa09204b0b01d836fa83dcf3
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 24 07:19:34 2010 -0400

    exportfs: Use xlog() for error reporting
    
    exportfs already invokes xlog_open() because libexport.a uses xlog()
    exclusively for error reporting and debugging messages.  If we can
    use xlog() throughout exportfs itself, that enables xlog debugging
    messages everywhere in the code path.
    
    In addition, use xlog() instead of fprintf(stderr) for reporting
    errors in exportfs.c, to be consistent with libexport.a and other
    components of nfs-utils.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6d7babe6afae068e8a1054f785785d374788f5ee
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 24 07:18:04 2010 -0400

    exportfs: exportfs.c no longer needs #include "xmalloc.h"
    
    Clean up:  No calls to xmalloc() or xstrdup() here.  No need for the
    double #include of xmalloc.h.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e22f5a9c8e53a2373e8a939771e964ad315cdc5f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 24 07:16:10 2010 -0400

    statd: statd fails to monitor if no reverse mapping of mon_name exists
    
    Commit 8ce130c4 switched in the new statd_canonical_name() function
    that constructs a "unique" name statd can use to uniquely identify a
    monitor record.
    
    The legacy statd would monitor a client that sent an IP address with
    no reverse map as its caller_name.  To remain bug-for-bug compatible,
    allow this case in the new statd.
    
    This shouldn't be a problem: statd_canonical_name() needs to create
    a unique name for the monitored host so it can keep track of monitor
    requests from the same remote.  The IP address itself should work as
    well as the host's canonical name, in case there is no reverse
    mapping.
    
    We still enforce the requirement that a mon_name that is a DNS name
    must have a forward map to an IP address.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1bb84a09ff58d1314826945db2f3f1f63015e263
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 24 07:13:54 2010 -0400

    libexport: Fix IP address check in check_netgroup()
    
    Neil Brown reports that recent changes to replace
    gethostby{addr,name}(3) with get{addr,info}name(3) may have
    inadvertently broken netgroup support.
    
    There used to be a gethostbyaddr(3) call in the third paragraph in
    check_netgroup().  The reason for that gethostbyaddr(3) call was that
    the first innetgr(3) call has already confirmed that hname is not a
    member of the netgroup.  We also need to confirm that, if hname
    happens to be an IP address, the hostname bound to that IP address is
    not a member of the netgroup, either.
    
    Fix this by restoring appropriate address to hostname mapping of hname
    before retrying the innetgr(3) call.
    
    See http://marc.info/?l=linux-nfs&m=128084830214653&w=2 .
    
    Introduced by commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84.
    
    Reviewed-by: Neil Brown <neilb@suse.de>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit abdc32b6af6f38a741a481aeefb5623916152498
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Aug 24 07:06:14 2010 -0400

    bexport: Add a common exit label to check_netgroup()
    
    check_netgroup() is going to be changed to free dynamically
    allocated resources before it returns, so a common
    exit point is needed.
    
    Reviewed-by: Neil Brown <neilb@suse.de>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 396aac50f5addea2f4d62c25600ca68788a56d97
Author: Guillaume Rousse <Guillaume.Rousse@inria.fr>
Date:   Tue Aug 17 17:47:38 2010 -0400

    Fix the description of nfsversion mount option in the man nfs page
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e2003650c68cf47806fb24f7d88fae5524b70aab
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:12:52 2010 -0400

    Remove warnings from nfsctl.c
    
    nfsctl.c: In function 'expsetup':
    nfsctl.c:112: warning: signed and unsigned type in conditional expression
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1e472b3476cc6d7b95573b7d630d0fc51bebadf3
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Aug 4 10:48:17 2010 -0400

    Removed warnings from mountd.c
    
    mountd.c: In function 'mount_null_1_svc':
    mountd.c:195: warning: unused parameter 'rqstp'
    mountd.c:195: warning: unused parameter 'argp'
    mountd.c:195: warning: unused parameter 'resp'
    mountd.c: In function 'mount_dump_1_svc':
    mountd.c:213: warning: unused parameter 'argp'
    mountd.c: In function 'mount_umnt_1_svc':
    mountd.c:224: warning: unused parameter 'resp'
    mountd.c: In function 'mount_umntall_1_svc':
    mountd.c:248: warning: unused parameter 'argp'
    mountd.c:248: warning: unused parameter 'resp'
    mountd.c: In function 'mount_export_1_svc':
    mountd.c:258: warning: unused parameter 'argp'
    mountd.c: In function 'mount_exportall_1_svc':
    mountd.c:269: warning: unused parameter 'argp'
    mountd.c: In function 'mount_dump_1_svc':
    mountd.c:216: warning: unused parameter 'argp'
    mountd.c: In function 'mount_umnt_1_svc':
    mountd.c:227: warning: unused parameter 'resp'
    mountd.c: In function 'mount_umntall_1_svc':
    mountd.c:251: warning: unused parameter 'argp'
    mountd.c:251: warning: unused parameter 'resp'
    mountd.c: In function 'mount_export_1_svc':
    mountd.c:261: warning: unused parameter 'argp'
    mountd.c: In function 'mount_exportall_1_svc':
    mountd.c:272: warning: unused parameter 'argp'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 14e6ec262e58e962c2d7e9161ca9c56529de3170
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Aug 4 10:41:18 2010 -0400

    Removed warnings from idmapd.c
    
    idmapd.c:120: warning: missing initializer
    idmapd.c:120: warning: (near initialization for 'nfsd_ic[0].ic_event')
    idmapd.c:121: warning: missing initializer
    idmapd.c:121: warning: (near initialization for 'nfsd_ic[1].ic_event')
    idmapd.c: In function 'flush_nfsd_cache':
    idmapd.c:173: warning: comparison between signed and unsigned integer expressions
    idmapd.c: In function 'dirscancb':
    idmapd.c:384: warning: unused parameter 'fd'
    idmapd.c:384: warning: unused parameter 'which'
    idmapd.c: In function 'svrreopen':
    idmapd.c:468: warning: unused parameter 'fd'
    idmapd.c:468: warning: unused parameter 'which'
    idmapd.c:468: warning: unused parameter 'data'
    idmapd.c: In function 'clntscancb':
    idmapd.c:474: warning: unused parameter 'fd'
    idmapd.c:474: warning: unused parameter 'which'
    idmapd.c: In function 'nfsdcb':
    idmapd.c:488: warning: unused parameter 'fd'
    idmapd.c: In function 'nfscb':
    idmapd.c:663: warning: unused parameter 'fd'
    idmapd.c: In function 'validateascii':
    idmapd.c:850: warning: comparison between signed and unsigned integer expressions
    idmapd.c:858: warning: comparison between signed and unsigned integer expressions
    idmapd.c: In function 'getfield':
    idmapd.c:916: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 2ccfd2d5f390bcac7a44f8887cd3f15df1966e0f
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Aug 4 10:29:28 2010 -0400

    Removed warnings from configfile.c
    
    configfile.c:195: warning: 'inline' is not at beginning of declaration
    configfile.c:232: warning: 'inline' is not at beginning of declaration
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit bc8fdd5ebcabe57cacd382673ca9e4a79ff7b18e
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Aug 4 10:26:13 2010 -0400

    Removed warnings from svcgssd_proc.c
    
    svcgssd_proc.c: In function 'send_response':
    svcgssd_proc.c:135: warning: unused parameter 'f'
    svcgssd_proc.c: In function 'handle_nullreq':
    svcgssd_proc.c:434: warning: comparison of unsigned expression < 0 is always false
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit be5b2ed57b0e0a3da91f4ec785718302d0351199
Author: Steve Dickson <steved@redhat.com>
Date:   Wed Aug 4 10:22:13 2010 -0400

    Removed warnings from network.c
    
    network.c: In function 'nfs_verify_family':
    network.c:1366: warning: unused parameter 'family'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6b8d7c05fe738a4c7295754b4be552c703024f58
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 18:43:46 2010 -0400

    Removed warnings from nfs4mount.c
    
    nfs4mount.c: In function 'fill_ipv4_sockaddr':
    nfs4mount.c:149: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit cf2fd4869fdb77741bca9e3f713af49b889661b3
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 18:40:31 2010 -0400

    Removed warnings from nfsmount.c
    
    nfsmount.c: In function 'nfsmount':
    nfsmount.c:513: warning: missing initializer
    nfsmount.c:513: warning: (near initialization for 'mnt_server.saddr')
    nfsmount.c:514: warning: missing initializer
    nfsmount.c:514: warning: (near initialization for 'nfs_server.saddr')
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 45a73911fff657942ec67317d000badb8e2c5282
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 18:22:32 2010 -0400

    Removed warnings from svcgssd.c
    
    svcgssd.c: In function 'sig_hup':
    svcgssd.c:160: warning: unused parameter 'signal'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b8ba21cedc6aac3b2847217caf55885bb1a74805
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 18:13:45 2010 -0400

    Removed warnings from gssd_proc.c
    
    gssd_proc.c: In function 'create_auth_rpc_client':
    gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions
    gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions
    gssd_proc.c: In function 'handle_krb5_upcall':
    gssd_proc.c:1164: warning: comparison between signed and unsigned integer expressions
    gssd_proc.c: In function 'handle_spkm3_upcall':
    gssd_proc.c:1178: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f4321ac3466aa9d4c4e11ba232f1ff9bea561288
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 18:08:13 2010 -0400

    Removed warnings from krb5_util.c
    
    krb5_util.c: In function 'realm_and_service_match':
    krb5_util.c:617: warning: unused parameter 'context'
    krb5_util.c: In function 'limit_krb5_enctypes':
    krb5_util.c:1275: warning: unused parameter 'uid'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit f89b109c04a8eab81bfa8b8fcdc7692673e13e49
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 17:53:47 2010 -0400

    Removed warnings from gssd_main_loop.c
    
    gssd_main_loop.c: In function 'dir_notify_handler':
    gssd_main_loop.c:64: warning: unused parameter 'sig'
    gssd_main_loop.c:64: warning: unused parameter 'si'
    gssd_main_loop.c:64: warning: unused parameter 'data'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit d2c329ba4b7ccdea76bcc857a73206eab68428f8
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 17:45:17 2010 -0400

    Removed warnings from gssd.c
    
    gssd.c: In function 'sig_hup':
    gssd.c:78: warning: unused parameter 'signal'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8a72ac3280ce8f9d0f48383d47dd06c80567bc09
Author: Steve Dickson <steved@redhat.com>
Date:   Tue Jul 20 17:19:20 2010 -0400

    Removed warnings from atomicio.c
    
    atomicio.c: In function 'atomicio':
    atomicio.c:48: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 14becdb7bc23f075f786325f7e953c2f928fe385
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 14:54:51 2010 -0400

    Removed warnings from nfsstat.c
    
    nfsstat.c: In function 'print_callstats':
    nfsstat.c:797: warning: comparison between signed and unsigned integer
    expressions
    nfsstat.c:801: warning: comparison between signed and unsigned integer
    expressions
    nfsstat.c:802: warning: comparison between signed and unsigned integer
    expressions
    nfsstat.c:805: warning: comparison between signed and unsigned integer
    expressions
    
    nfsstat.c: In function 'print_callstats_list':
    nfsstat.c:821: warning: comparison between signed and unsigned integer
    expressions
    nfsstat.c:828: warning: comparison between signed and unsigned integer
    expressions
    
    nfsstat.c: In function 'unpause':
    nfsstat.c:1111: warning: unused parameter 'sig'
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b594ee2b2a1b9c0c5823a7af279488f113f91be4
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 14:48:37 2010 -0400

    Removed warnings from nfssvc.c
    
    nfssvc.c:184: warning: comparison between signed and unsigned integer expressions
    nfssvc.c: In function 'nfssvc_setvers':
    nfssvc.c:254: warning: comparison between signed and unsigned integer expressions
    nfssvc.c: In function 'nfssvc_threads':
    nfssvc.c:280: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7b331fb9d24a71242a6c0a45a06c49174b552c64
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 14:43:26 2010 -0400

    Removed warnings from cache.c
    
    cache.c:812: warning: missing initializer
    cache.c:812: warning: (near initialization for 'cachelist[0].f')
    cache.c:813: warning: missing initializer
    cache.c:813: warning: (near initialization for 'cachelist[1].f')
    cache.c:814: warning: missing initializer
    cache.c:814: warning: (near initialization for 'cachelist[2].f')
    cache.c:815: warning: missing initializer
    cache.c:815: warning: (near initialization for 'cachelist[3].f')
    cache.c:816: warning: missing initializer
    cache.c:816: warning: (near initialization for 'cachelist[4].f')
    cache.c: In function 'cache_export_ent':
    cache.c:887: warning: comparison between signed and unsigned integer expressions
    cache.c:907: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9d5eaa2e939723c47649f0f112b43cc8ff414740
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 13:07:00 2010 -0400

    Removed warnings from fsloc.c
    
    fsloc.c: In function 'replicas_lookup':
    fsloc.c:149: warning: unused parameter 'key'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e10000740fc4c323dbc8d501d7c0caeae12c19b5
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:39:52 2010 -0400

    Removed warnings from conffile.c
    
    conffile.c: In function 'conf_parse_line':
    conffile.c:301: warning: comparison between signed and unsigned integer expressions
    
    conffile.c: In function 'conf_load_defaults':
    conffile.c:356: warning: unused parameter 'tr'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8810c9dd5b66a097a235e6eabd399739a44df63e
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:34:14 2010 -0400

    Remove warnings from nfs_mntent.c
    
    nfs_mntent.c: In function 'mangle':
    nfs_mntent.c:36: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1ca569633e14c844e32d8e5e3a1c54be01a8b633
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:31:48 2010 -0400

    emove warnings from cacheio.c
    
    cacheio.c: In function 'cache_flush':
    cacheio.c:352: warning: comparison between signed and unsigned integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0cdfd35cecc17eb1927f15d33205e43ec66675f2
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:28:09 2010 -0400

    Remove warnings from svc_socket.c
    
    svc_socket.c: In function 'svcudp_socket':
    svc_socket.c:160: warning: unused parameter 'reuse'
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9c99b4633b185452614eb6c5630a30b30626a838
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:17:24 2010 -0400

    Removed warnings from rpcdispatch.c
    
    rpcdispatch.c: In function 'rpc_dispatch':
    rpcdispatch.c:30: warning: comparison between signed and unsigned
         integer expressions
    rpcdispatch.c:35: warning: comparison between signed and unsigned
         integer expressions
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit b6e0ddd7bb3843bb8bb5ff56816b31bcf17adacd
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Jul 19 12:05:51 2010 -0400

    Enable extra compile warnings (-Wextra) by default.
    
    Added -Wextra to the CFLAGS which enables more checking
    during compilation, which in turn, will hopefully flag
    potential problems before they occur.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 12af21aca517dfbaec465447d8336bcc4769f71d
Author: Doug Nazar <nazard.michi@gmail.com>
Date:   Mon Jul 19 11:08:46 2010 -0400

    gssd: picking wrong creds
    
    When not using machine credentials for root, if the machine
    credential cache file is newer than the root credential file
    the wrong file will get picked. Ignore the machine file in
    this case.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e2aa2c8c4cc21eb312a301855c2e211dedf93146
Author: Doug Nazar <nazard.michi@gmail.com>
Date:   Mon Jul 19 10:58:47 2010 -0400

    mountd: Fix memcmp result comparison error for uuid match.
    
    Fixed Small typo in the new fs uuid comparison code
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit eafc5a8873b09482c71313f425080cce2031010a
Author: Doug Nazar <nazard.michi@gmail.com>
Date:   Mon Jul 19 10:48:34 2010 -0400

    gssd: Fix endtime issue
    
    Commit 4c5ff6d4 removed the setting of endtime for a few contexts by
    accident.
    
    Now to figure out why I get stale handles on submounts.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0bd7e91cea26bcfc5581290e4cdd87870da29b9e
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Jul 19 10:09:12 2010 -0400

    nfs-utils: Fix C aliasing rules violation in	nfs_getrpccaller()
    
    Squelch compiler warnings reported with -Wextra:
    
    In file included from statd.c:24:
    ../../support/include/rpcmisc.h: In function nfs_getrpccaller_in:
    ../../support/include/rpcmisc.h:58: warning: dereferencing type-punned
    pointer might break strict-aliasing rules
    ../../support/include/rpcmisc.h: In function nfs_getrpccaller:
    ../../support/include/rpcmisc.h:63: 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 a8715bec8bd671135f20fc0422d2a9fc0993758a
Author: Kevin Constantine <kevin.constantine@disneyanimation.com>
Date:   Tue Jun 22 17:43:19 2010 -0400

    nfs-iostat.py: divide by zero with fresh mount
    
    When an export is freshly mounted, /proc/self/mountstats displays age = 0.
    This causes nfs-iostat.py to divide by zero throwing an error.  When we
    have age = 0, other stats are greater than 0, so we'll set age = 1 and
    print the relevant stats.
    
    Signed-off-by: Kevin Constantine <kevin.constantine@disneyanimation.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9c3f7a220b4812c5d560db5fcacad790fc8b17af
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 13:31:38 2010 -0400

    libexport.a: Remove unused hostent-based DNS helper	functions
    
    Clean up:  Get rid of hostent-based DNS helper functions in
    libexport.a that have been replaced by addrinfo-based DNS helpers.
    
    None of the original code remains, so replace the copyright notice as
    well.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 21015ace7d0a356b24a57540ccfeb41d941e78ed
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 13:06:40 2010 -0400

    libexport.a: Replace matchhostname()
    
    So that exportfs can eventually support IPv6 addresses, copy statd's
    getaddrinfo(3)-based matchhostname to exportfs, with adjustments for
    dealing with export wildcards and netgroups.  Until exportfs has full
    IPv6 support, however, we want to ensure that IPv6 addresses continue
    to remain blocked in the address comparison code used by exportfs.  At
    a later point we'll replace much of this with the generic functions
    in sockaddr.h.
    
    Since it contains special logic for handling wildcard and netgroups,
    this function is specialized for exportfs, and does not belong in
    one of the shared libraries.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 22d6566d473f71e241c791a02435d414648c99e8
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 12:51:42 2010 -0400

    libexport.a: Add documenting comments
    
    Clean up.  Add a few additional documenting comments for globally
    visible functions.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 53928c0166dcc0acceaa995edb8551b48968b5dd
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 12:44:44 2010 -0400

    libexport.a: Make export_add() static
    
    Clean up: export_add() is not called from outside of export.c, so make
    it a static helper.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8940675a20967145b37a596334c25a54804435cc
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 12:43:55 2010 -0400

    libexport.a: Make export_read() return void
    
    Clean up: export_read()'s return value is always zero, and its only
    caller never checks it.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 12:43:01 2010 -0400

    mountd: Replace "struct hostent" with "struct addrinfo"
    
    struct hostent can store either IPv4 or IPv6 addresses, but it can't
    store both address families concurrently for the same host.  Neither
    can hostent deal with parts of socket addresses that are outside of
    the sin{,6}_addr field.
    
    Replace the use of "struct hostent" everywhere in libexport.a, mountd,
    and exportfs with "struct addrinfo".  This is a large change, but
    there are so many strong dependencies on struct hostent that this
    can't easily be broken into smaller pieces.
    
    One benefit of this change is that hostent_dup() is no longer
    required, since the results of getaddrinfo(3) are already dynamically
    allocated.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 3ca5879be32c4c11750e12230ff588195fff0738
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 12:40:27 2010 -0400

    exportfs: Add a common exit label in exportfs()
    
    Clean up: Reduce code duplication by introducing a goto label for
    freeing hp and exiting.  This will make replacing "struct hostent *"
    with "struct addrinfo *" more straightforward in this code.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 94ce1eb94babb4c587b2826452fb053cba745098
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Jun 22 10:41:03 2010 -0400

    libexport.a: Add helpers to manage DNS lookups
    
    Introduce DNS query helpers based on getaddrinfo(3) and
    getnameinfo(3).  These will eventually replace the existing
    hostent-based functions in support/export/hostname.c.
    
    Put some of these new helpers to immediate use, where convenient.
    
    As they are part of libexport.a, I've added the forward declarations
    for these new functions in exportfs.h rather than misc.h, where the
    hostent-based forward declarations are currently.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 8d61f2518bebe11c5fd0624857f83de1dceca991
Author: NeilBrown <neilb@suse.de>
Date:   Tue Jun 22 10:37:25 2010 -0400

    Improve support for exporting btrfs subvolumes
    
    If you export two subvolumes of a btrfs filesystem, they will both be
    given the same uuid so lookups will be confused.
    blkid cannot differentiate the two, so we must use the fsid from
    statfs64 to identify the filesystem.
    
    We cannot tell if blkid or statfs is best without knowing internal
    details of the filesystem in question, so we need to encode specific
    knowledge of btrfs in mountd.  This is unfortunate.
    
    To ensure smooth handling of this and possible future changes in uuid
    generation, we add infrastructure for multiple different uuids to be
    recognised on old filehandles, but only the preferred on is used on
    new filehandles.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9ac7a15017b876d4d8d3a4502ebaf954f36f7f54
Author: Steve Dickson <steved@redhat.com>
Date:   Thu Jun 3 08:53:22 2010 -0400

    mount.nfs: silently fails when the network protocol is not found
    
    mount.nfs should display some type of error diagnostics when
    the network protocol can not be determined.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 740171dea45a57e396a86fbda1579a465f101854
Author: Steve Dickson <steved@redhat.com>
Date:   Thu Jun 3 08:32:56 2010 -0400

    mount: silently fails when bad option values are given
    
    mount.nfs should not only fail when an invalid option values
    are supplied (as it does), it should also print a diagnostic
    message identifying the problem
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 94c3d7c91de582cf29ff9100950ecd4a5fd1606b
Author: Kevin Constantine <kevin.constantine@disneyanimation.com>
Date:   Wed Jun 2 08:34:14 2010 -0400

    nfsiostat.man: Add linebreak before --version option
    
    The nfsiostat man file was missing a linebreak before the --verbose option
    
    Signed-off-by: Kevin Constantine <kevin.constantine@disneyanimation.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 291b329ad1f5a65270097f4ec3a8dd465df42669
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon May 24 06:02:22 2010 -0400

    mountd: Convert colons in IPv6 presentation addresses tosemicolons
    
    The /var/lib/nfs/rmtab file delineates fields in each of its lines
    with a ":".  The first field contains the IP address of a client, in
    presentation format.  IPv6 presentation format addresses contain
    colons, which screws up the field delineation of rmtab.
    
    Use a simple simple scheme to convert the colons in incoming client
    names to some other character, and then convert them back when the
    rmtab file is read.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9e398e49be79af62fca8efb21849d8a2714dc92a
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon May 24 06:01:22 2010 -0400

    libexport.a: Refactor rmtab_read()
    
    Clean up: Make it easier to add IPv6 support by refactoring part of
    rmtab_read() into a helper function.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 2fd2dfd9ebb2de145d50039233bd2a53b7f03062
Author: NeilBrown <neilb@suse.de>
Date:   Mon May 24 05:55:26 2010 -0400

    Mountd listens on 2 different versions for NFSv2 (MOUNTv1 and MOUNTv2)
    and one for NFSv3 (MOUNTv3)
    
    When --no-nfs-version requests an NFS version to be disabled, the
    code actually disabled the MOUNT version. This works is several cases,
    but requires --no-nfs-version 1 to completely disable NFSv2, which
    is wrong.
    
    So if we do disable 1, 2, and 3. mountd complain and won't run, it
    is not possible to run just v4 - i.e. not listening for MOUNT requests
    at all (as v4 doesn't need them).
    
    So change the handling of "--no-nfs-version 2" it disable MOUNTv1 as
    well as
    MOUNTv2, and allow mountd to continue running as long as one of
    NFSv2 NFSv3 NFSv4 is enabled.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6299a310d77e6495efdf7c50491f0b055fee2cfe
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed May 5 15:41:07 2010 -0400

    mountd/exportfs: Make m_addrlist field a nfs_sockaddr
    
    To store non-AF_INET addresses in the nfs_client structure, we need to
    use more than in_addr for the m_addrlist field.  Make m_addrlist
    larger, then add a few helper functions to handle type casting and
    array indexing cleanly.
    
    We could treat the nfs_client address list as if all the addresses
    in the list were the same family.  This might work for MCL_SUBNETWORK
    type nfs_clients.  However, during the transition to IPv6, most hosts
    will have at least one IPv4 and one IPv6 address.  For MCL_FQDN, I
    think we need to have the ability to store addresses from both
    families in one nfs_client.
    
    Additionally, IPv6 scope IDs are not part of struct sin6_addr.  To
    support link-local IPv6 addresses and the like, a scope ID must be
    stored.
    
    Thus, each slot in the address list needs to be capable of storing an
    entire socket address, and not simply the network address part.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6ff1fd42db18c657fbc5f81169a566b41d53e731
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed May 5 14:42:01 2010 -0400

    libexport.a: Clean up client_add()
    
    Clean up: client_add()'s current callers never set unknown m_type
    values, so the m_type check is unnecessary.
    
    All of client_add()'s callers are in the same source file where it is
    defined, so make it a static helper function.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9bb85c5e8d2285f82367c75df5530a71a9a5a5f2
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed May 5 14:37:13 2010 -0400

    libexport.a: Refactor client_init()
    
    Clean up:  Move subnet hostname parsing logic out of client_init() to
    make it simpler to introduce IPv6 support.
    
    Make client_init() a helper, since it's already static.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0a8bd742cc1412e2553f152ee0c3aab8c5570212
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Apr 23 12:22:53 2010 -0400

    Make capabilities support optional
    
    The new code using libcap is quite minor, so rather than always reqiure
    libcap support, make it a normal --enable type flag.  Current default
    behavior is retained -- if libcap is found, it is enabled, else it is
    disabled like every nfs-utils version in the past.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit fbc038b7a5c7f5f102bf2c4fb149030d0092eec8
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Apr 23 12:18:27 2010 -0400

    set +x on autogen.sh
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 08e1512e4a932f41867f0b515348b9402db50cbd
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 23 12:09:35 2010 -0400

    libexport.a: Allow malloc(3) failures in client_lookup() and friends
    
    Clean up: Use malloc(3) instead of xmalloc() in client_lookup() and
    client_dup(), ensuring that a failed memory allocation here doesn't
    cause our process to exit suddenly.
    
    Allocation of nfs_client records and the m_hostname string are now
    consistently handled with malloc(3), calloc(3), strdup(3), and
    free(3).
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit aa4b66b12b631885ed85f3ebe97e68b033407178
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 23 12:08:49 2010 -0400

    libexport.a: Allow m_hostname allocation to fail instead of exit
    
    Clean up: Replace xstrdup() with strdup(3) in client_init(), to
    prevent the process from exiting if the memory allocation fails.
    
    Note that both of client_init()'s callers set m_hostname equal to NULL
    before calling, thus the extra free(3) at the top of client_init() is
    unneeded.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5d954d871fb265af584faef5df6e2e7e6ada7c3b
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 23 12:02:34 2010 -0400

    libexport.a: Allow client_init() to fail instead of exit
    
    client_init()'s current callers can now deal correctly with a failure.
    Get rid of code that can cause our process to exit in client_init(),
    if address mask parsing or memory allocation fails.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 75cbc8d3fc9e7c3750629bd72519770ab58b868f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 23 12:00:28 2010 -0400

    libexport.a: Add client_free()
    
    Clean up: Introduce a helper to free a nfs_client record.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 7fc6f6c6b68ba7fa1be6de05ce3b9e2d97b82ea4
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Apr 16 10:56:29 2010 -0400

    Add in autoconf support for mountstats and nfsiostats
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit d8ff9ef2828059bb2ee115d22f3c9579421daf54
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Apr 16 10:49:10 2010 -0400

    Introduce man page for the nfsiostats command
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c03fe46d62bc78cb52d400fa5a52dc4ce9947945
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Apr 16 10:46:41 2010 -0400

    Introduce man page for the mountstats command
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit c4b2281c6c748b768de7a49af89660c9c1a68b11
Author: Steve Dickson <steved@redhat.com>
Date:   Fri Apr 16 13:31:57 2010 -0400

    Removed some miscellaneous warnings in the new gssd code.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 4c5ff6d48021731128c4fc13d51610645a6fcf5c
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Mon Apr 12 17:13:25 2010 -0400

    Add support for non-DES encryption types.
    
    Sends a new format of context information to the kernel.
    (Requires kernel support to do anything useful.)
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 76be349d5dd07f55797cb9920cc275667258f10f
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Thu Apr 15 08:32:20 2010 -0400

    Try to use kernel function to determine supported Kerberos enctypes.
    
    This patch replaces a hard-coded list with a function to obtain
    the Kerberos encryption types that the kernel's rpcsec_gss code
    can support.  Defaults to old behavior if kernel does not supply
    information.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 48d13033dcb27eb3d9ea78c39692ff7c54095950
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Mon Apr 12 17:06:30 2010 -0400

    gssd: move function limit_krb5_enctypes into the exported functions area
    
    cleanup: Move function limit_krb5_enctypes() from the section
    containing static functions into the section containing
    externally visible functions.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 470448e77bd673b206cf40820f966dcb8f029f27
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 16 13:03:20 2010 -0400

    libexport.a: export_find() should handle address parsing errors
    
    An address mask parsing error can cause client_init(), and therefore
    client_dup(), to make our process exit suddenly.  Soon we want to add
    more complex address parsing in client_init(), so we need this
    interface to be a little more robust.
    
    Since export_find() can return NULL in some cases, it can handle NULL
    returns from its subroutines if an address parsing error occurs, or if
    memory is exhausted.  Allow for client_dup() to return NULL instead of
    exiting sideways.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9b7cc679c70d00af3f44dc6a8b44a360a2423d64
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Apr 16 13:02:15 2010 -0400

    libexport.a: Add export_free()
    
    Clean up: Introduce a helper to free an nfs_export record.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 30eff9c26141746fb26efb1af60d5cbe7a16ebae
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 15 08:59:18 2010 -0400

    libexport.a: Add helper for populating m_addrlist[]
    
    Clean up: Move common code that populates an nfs_client record's
    m_addrlist to a helper function.  This eliminates a little code
    duplication, and makes it simpler to add IPv6 support later.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e1c93f691348392ee36b763bf57946540891ff16
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 15 08:57:29 2010 -0400

    libexport.a: Reduce code duplication in client_init()
    
    Clean up:  Most cases in client_init() set clp->m_naddr to zero.  Move
    it to the common part of the function, and simplify the logic.  This
    will make adding IPv6 support here more straightforward.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 1fc99e6d5d6b9401e380ee756a4251c86a3b8d54
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Apr 15 08:49:28 2010 -0400

    set +x on t0001-statd-basic-mon-unmon.sh
    
    The test framework tries to exec this script, but it fails because it
    lacks the +x bit.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit bf867b09201abb155b52e81aeb08757b2f7c6937
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 11:01:14 2010 -0400

    libexport.a: replace xlog(L_FATAL) in client_check()
    
    Clean up: Prevent the process from exiting in client_check().  Report
    bad m_type values, but return 0.
    
    This removes another site where a mountd or exportfs process can exit
    sideways.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a39b43b81a8e7b70310f250c5ffd77816577cd6c
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 10:55:02 2010 -0400

    libexport.a: Refactor wildcard checking in client_check()
    
    Clean up: refactor wildcard logic out of client_check() to make it
    easier to introduce IPv6 support.
    
    Match the style used for client_check_{fqdn,subnetwork,netgroup}.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 346ca35298e45e55a58d0f566c3b32b69102c6de
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 10:54:01 2010 -0400

    libexport.a: Refactor netgroup checking in client_check()
    
    Clean up: refactor netgroup logic out of client_check() to make it
    easier to introduce IPv6 support.
    
     +  Use preferred style of keeping #ifdef out of the middle of
        function definitions.  Squelch compiler warnings for "#ifndef
        HAVE_INNETGR" by using __attribute__((unused)).
    
     +  Use preferred style of not using curly braces around switch cases.
    
     +  Match style used for check_{fqdn,subnetwork}.
    
     +  Clarify comment documenting use of h_aliases
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 3455138100064d0213b124c72453accde2276be5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 10:52:33 2010 -0400

    libexport.a: Remove unused function client_checkaddr()
    
    Clean up.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a4e3d5c53195c789ae26697a0b2ecdf05d76a85b
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 10:51:54 2010 -0400

    libexport.a: Factor SUBNETWORK checking out of	check_client()
    
    Clean up:  Factor the MCL_SUBNETWORK case out of check_client() and
    client_checkaddr().  This will make it easier to add IPv6 support
    eventually.
    
    The logic in the new helper function will get a little more tangled
    once IPv6 support is introduced.  Each slot in the clp address list
    eventually may contain an address from either address family.
    
    Note that the switch statement in client_checkaddr() is redundant,
    since clp->cl_mtype is loop invariant.  This change makes SUBNETWORK
    client checking more computationally efficient, at the cost of a few
    extra lines of code.
    
    This commit should not change code behavior in any way.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6abde64e6a605443dfc283ffb2642cb853f8b5b0
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Apr 8 10:50:41 2010 -0400

    libexport.a: Factor FQDN checking out of check_client()
    
    Clean up:  Factor the MCL_FQDN case out of check_client() and
    client_checkaddr().  This will make it easier to add IPv6 support
    eventually.
    
    The logic in the new helper function will get a little more tangled
    once IPv6 support is introduced.  Each slot in the clp address list
    eventually may contain an address from either address family.
    
    Note that the switch statement in client_checkaddr() is redundant,
    since clp->cl_mtype is loop invariant.  This change makes FQDN client
    checking more computationally efficient, at the cost of a few extra
    lines of code.
    
    This commit should not change code behavior in any way.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e8a54a3d5e32c9de009f84d1ef3f26d2dffbf226
Author: Steve Dickson <steved@redhat.com>
Date:   Thu Apr 8 10:43:49 2010 -0400

    Remove some warnings that were introduced by commit 6ca440c
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 132744e9f8885254bcf213c90009d40adeb716bc
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Mar 22 10:18:00 2010 -0400

    libexport.a: e_fslocdata should be freed with free(3)
    
    Clean up: Since e_fslocdata is allocated with strdup(3), and not
    xstrdup(), it should be freed with free(3), and not xfree().
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit e3b0046b4b12a6e05c0a7afd59ca5431ded51e96
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Mar 22 10:16:04 2010 -0400

    libexport.a: Fix whitespace damage in	support/export/export.c
    
    Clean up whitespace damage introduced by commit 4cacc965.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 5f722d8855ebcb2d041e182c8c69c8cbee4bf408
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Mar 22 10:13:15 2010 -0400

    libexport.a: Clean up client_compose() and client_member()
    
    Clean up:  Replace outdated comments, and fix some function
    declarations.  Use proper type for a couple of automatic variables.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit aa4c771fc359e097a3a6c3637f78c7bed7c450e9
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Mar 22 10:10:59 2010 -0400

    libexport.a: Remove dead code
    
    Clean up:  I can't find any call sites for client_find() or
    client_match().
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 0935cebc1e130c6adfd870c88a6493277c84d47f
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Mar 19 16:14:26 2010 -0400

    mount: Mount should retry unreachable hosts
    
    Currently if a server is up but not responding (ie, it answers ARP
    requests, but not NFS or RPC requests), mount retries or backgrounds
    itself waiting for the server.
    
    If the server is not responding on the network at all, mount fails
    the mount request immediately.
    
    Users might find it more useful if mount retried in both cases.
    
    Note that this change means attempting to mount using a misspelled
    server name will "hang" for the retry amount.  I suppose the error
    message isn't very helpful whether it fails immediately or waits
    a couple of minutes, though I imagine that an unreachable server is a
    much more common occurrence than a misspelling.
    
    Reported-by: Daniel Goering <g_daniel@gmx.net>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit baa41b2c78e796540c45692ea35214f7090a78cb
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Mar 19 16:03:45 2010 -0400

    sm-notify: Send fully-qualified and unqualified mon_names
    
    During any file locking interaction between an NFS client and server,
    the client tells the server what hostname it will use as the mon_name
    argument of the SM_NOTIFY request sent by the client when it reboots.
    This is the "caller_name" argument of an NLMPROC_LOCK request.
    
    The server, however, never tells the client what mon_name argument
    it will use when sending an SM_NOTIFY request.  In order to recognize
    the server, clients usually guess what mon_name the server might
    send, by using the server hostname provided by the user on the mount
    command line.
    
    Frequently, the user provides an unqualified server name on the mount
    command.  The server might then call the client back with a fully
    qualified domain name, which might not match in some cases.
    
    Solaris, and perhaps other implementations, attempt to mitigate this
    problem by sending two SM_NOTIFY requests to each peer: one with an
    unqualified mon_name argument, and one with a fully qualified mon_name.
    
    Implement such a scheme for sm-notify.
    
    Since my_name is almost always the fully-qualified hostname associated
    with the local system, just wiping the left-most '.' in the my_name
    argument and sending another SM_NOTIFY is nearly always sufficient.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 900df0e7c0b9006d72d8459b30dc2cd69ce495a5
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Mar 17 06:15:08 2010 -0400

    sm-notify: Use my_name when sending SM_NOTIFY requests
    
    The mon_name argument of an SM_NOTIFY request is a string that
    identifies the rebooting host.
    
    sm-notify should send the my_name provided by the local lockd at the
    time the remote was monitored, rather than cocking up a mon_name
    argument based on the present return value of gethostname(3).  If the
    local system's hostname happened to change after the last reboot, then
    the string returned by gethostname(3) will not be recognized by the
    remote.  Thus the remote will never initiate lock recovery for the
    original named host, possibly leaving stale locks.
    
    The existing behavior of using the -v command line option as the
    mon_name argument is preserved, but we now prevent sending an IP
    presentation address, as some non-Linux implementations don't
    recognize addresses as valid mon_names.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Reviewed-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 70c59e231e7257ac93b68ba4b844f8d10a6af4a8
Author: J. Bruce Fields <bfields@citi.umich.edu>
Date:   Mon Mar 8 15:02:26 2010 -0500

    mountd: trivial: name parameters for clarity
    
    Part of the reason for the previous bug was confusion between "subpath"
    and "path"; which is the shorter path, and which the longer?
    
    "child" and "parent" seem less ambiguous.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit a064fde8c2615333227de97d159bb338d4ac640d
Author: J. Bruce Fields <bfields@citi.umich.edu>
Date:   Mon Mar 8 14:59:01 2010 -0500

    mountd: fix path comparison for v4 crossmnt
    
    This was obviously wrong, since path[strlen(path)] == '\0'
    should always be true.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 6ca440c2661dccb05ae74ffb65817e9c30f05c8a
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Mar 8 11:22:46 2010 -0500

    mountd: fix --manage-gids hang due to int/uint bug
    
    A uid or gid should be represented as unsigned, not signed.
    
    The conversion to signed here could cause a hang on access by an unknown
    user to a server running mountd with --manage-gids; such a user is
    likely to be mapped to 232-1, which may be converted to 231-1 when
    represented as an int, resulting in a downcall for uid 231-1, hence the
    original rpc hanging forever waiting for a cache downcall for 232-1.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 84346b7d7e69c113d6dbf03f2646a47b0e74a6b8
Author: Steve Dickson <steved@redhat.com>
Date:   Mon Mar 8 10:24:44 2010 -0500

    Use authunix_create() instead of authsys_create() to fix regression.
    
    Commit 409b8 introduced a regression when the --disable-tirpc
    configuration flag is set. The authsys_create() interface, which
    was introduced, does not exist in the legacy glibc library.
    
    Since the authsys_create() interface is a redefined of the
    authunix_create() interface, which is defined in glibc, using
    authunix_create() resolves the regression,
    
    Acked-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 409b89cc7106154780400c6b2bdce46bc9d5db4b
Author: Jeff Layton <jlayton@redhat.com>
Date:   Mon Mar 1 08:07:34 2010 -0500

    nfs-utils: add and use nfs_authsys_create
    
    The current mount, umount and showmount code uses
    authunix_create_default to get an auth handle. The one provided by glibc
    returned a truncated list of groups when there were more than 16 groups.
    libtirpc however currently does an abort() in this case, which causes
    the program to crash and dump core.
    
    nfs-utils just uses these auth handles for the MNT protocol, so the
    group list doesn't make a lot of difference here. Add a new function
    that creates an auth handle with a supplemental gids list that consists
    only of the primary gid. Have nfs-utils use that function anywhere that
    it currently uses authunix_create_default. Also, have the caller
    properly check for a NULL return from that function.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 9c8c2cd50d3cf0316c2a1bdf6cb9efc7e1a20be9
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Mon Mar 1 07:37:49 2010 -0500

    Fix a typo in commit 6d5ac3fa (nfsd: Disble NFS 4.1 functionality by
    default).
    
    We did not really intend to make NFSv4.0 support conditional on NFSv4.1
    being enabled.
    
    Signed-off-by: Steve Dickson <steved@redhat.com>

commit 639b63394c6dd66e06423bfe810366277955c570
Author: Steve Dickson <steved@redhat.com>
Date:   Thu Feb 18 07:35:00 2010 -0500

    Release 1.2.2
    
    Signed-off-by: Steve Dickson <steved@redhat.com>