1/ be less trusting of information in /var/lib/nfs/xtab. Add things to
[nfs-utils.git] / ChangeLog
1 2000-08-23  Neil Brown <neilb@cse.unsw.edu.au>
2
3         * support/export/xtab.c(xtab_read): introduce new mode for
4            reading xtab. i.e. a list of exports that might be known to the
5            kernel, or might not.  These are flagged as m_exported == -1
6         * support/export/xtab.c(xtab_mount_read):  call xtab_read with new
7            value "2" for xtab, meaning don't trust this too much.
8         * support/include/exportfs.h(struct mexport): changed m_exported
9            from one bit to an int so that it can hold new value
10         * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
11            kernel if it is uncertain whether the kernel knows (m_exported == -1)
12         * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
13            status is uncertain
14
15         * support/nfs/xio.c(xflock): added O_CREAT when getting
16            a write lock so that missing files aren't fatal.
17
18         * etc/debian/nfs-common: new file from "potato"
19         * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
20          
21 2000-08-09  H.J. Lu <hjl@lucon.org>
22
23         * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
24         startup to ensure all existing clients work fine.
25
26         * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
27         to xtab_read () for reading _PATH_XTAB.
28
29 2000-08-02  H.J. Lu <hjl@lucon.org>
30
31         * utils/mountd/auth.c (auth_authenticate_internal): Try to
32         avoid the reverse name lookup.
33
34 2000-07-04  H.J. Lu <hjl@lucon.org>
35
36         * utils/statd/log.c: Include <stdlib.h> for exit ().
37
38         * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
39         gcc warning.
40
41 2000-07-04  H.J. Lu <hjl@lucon.org>
42
43         * configure.in (VERSION): Set to "0.1.9.1".
44         * configure: Regenerated.
45         * nfs-utils.spec: Updated.
46
47         * README: Updated.
48
49 2000-07-04  Neil Brown  <neilb@cse.unsw.edu.au>
50
51         * support/export/hostname.c (hostent_dup): Handle the NULL
52         h_aliases field.
53
54 2000-07-03  H.J. Lu <hjl@lucon.org>
55
56         * README: Update the util-linux requirement.
57
58 2000-07-03  H.J. Lu <hjl@lucon.org>
59
60         * configure.in (VERSION): Set to "0.1.9".
61         * configure: Regenerated.
62         * nfs-utils.spec: Updated.
63
64         * README: Updated.
65
66 2000-07-03  H.J. Lu <hjl@lucon.org>
67
68         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
69         stop to ensure all clients can still access the server
70         before it is shutdown.
71
72 2000-06-30  Jeff Uphoff <juphoff@transmeta.com>
73
74         * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
75         calls with format string.
76         
77 2000-06-28  Chip Salzenberg  <chip@valinux.com>
78
79         * utils/statd/log.c (log): Call syslog with format string.
80
81 2000-06-27  H.J. Lu <hjl@lucon.org>
82
83         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
84         instead of OPEN_MAX.
85
86 2000-06-27  H.J. Lu <hjl@lucon.org>
87
88         * README: Updated.
89
90 2000-06-27  H.J. Lu <hjl@lucon.org>
91
92         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
93         startup to ensure all existing clients are exported.
94
95         * configure.in (VERSION): Set to "0.1.8.2".
96         * configure: Regenerated.
97         * nfs-utils.spec: Updated.
98
99 2000-06-06  H.J. Lu <hjl@lucon.org>
100
101         * configure.in (VERSION): Set to "0.1.8.1".
102         * configure: Regenerated.
103         * nfs-utils.spec: Updated.
104
105 2000-06-06  H.J. Lu <hjl@lucon.org>
106
107         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
108         to "struct sockaddr_in *" for glibc 2.2.
109         (mount_umnt_1_svc): Likewise.
110         (mount_umntall_1_svc): Likewise.
111         (mount_export_1_svc): Likewise.
112         (mount_exportall_1_svc): Likewise.
113         (mount_pathconf_2_svc): Likewise.
114         (get_rootfh): Likewise.
115
116 2000-06-04  H.J. Lu <hjl@lucon.org>
117
118         * etc/redhat/nfs.init: Fix a typo in comment.
119
120 2000-05-31  H.J. Lu <hjl@lucon.org>
121
122         * configure.in (VERSION): Set to "0.1.8".
123         * configure: Regenerated.
124         * nfs-utils.spec: Updated.
125
126         * README: Updated.
127
128 2000-05-31  H.J. Lu <hjl@lucon.org>
129
130         * configure.in (VERSION): Set to "0.1.7.5".
131         * configure: Regenerated.
132         * nfs-utils.spec: Updated.
133
134         * support/include/nfslib.h (exportent): Add a new field,
135         r_count, to count the number of mounts from a client.
136         (getrmtabent): Take a new argument for position in file.
137         (putrmtabent): Likewise.
138         (fgetrmtabent): Likewise.
139         (fputrmtabent): Likewise.
140         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
141         for position in file.
142         (fgetrmtabent): Likewise.
143         (putrmtabent): Likewise.
144         (fputrmtabent): Likewise.
145
146         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
147         field, r_count.
148
149         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
150         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
151         and fputrmtabent ().
152         * utils/mountd/rmtab.c (mountlist_add): Likewise.
153         (mountlist_del): Likewise.
154         (mountlist_del_all): Likewise.
155         (mountlist_list): Likewise.
156
157         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
158         for the existing entry and initialize "r_count" to 1.
159         (mountlist_del): Decrement "r_count".
160
161 2000-05-18  H.J. Lu <hjl@lucon.org>
162
163         * configure.in (VERSION): Set to "0.1.7.4".
164         * configure: Regenerated.
165         * nfs-utils.spec: Updated.
166
167 2000-05-18  H.J. Lu <hjl@lucon.org>
168
169         * etc/redhat/nfs.init (restart): Just do stop and start.
170
171 2000-05-09  Jay Weber <jweber@valinux.com>
172
173         * utils/rquotad/hasquota.c: added support for ext3 recognition
174         in rquotad.
175         * utils/rquotad/mntent.h: Likewise.
176
177 2000-05-01  H.J. Lu <hjl@lucon.org>
178
179         * configure.in (VERSION): Set to "0.1.7.3".
180         * configure: Regenerated.
181         * nfs-utils.spec: Updated.
182
183 2000-05-01  H.J. Lu <hjl@lucon.org>
184
185         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
186         mounting poins in /etc/fstab.
187
188 2000-05-01  H.J. Lu <hjl@lucon.org>
189
190         * configure.in (VERSION): Set to "0.1.7.2".
191         * configure: Regenerated.
192         * nfs-utils.spec: Updated.
193
194 2000-05-01  H.J. Lu <hjl@lucon.org>
195
196         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
197         to check for the mounting point.
198
199 2000-04-29  Chip Salzenberg  <chip@valinux.com>
200             Neil Brown  <neilb@cse.unsw.edu.au>
201
202         * Really re-use RPC ports.
203           (Fixes earlier patch.  Sorry, Neil.)
204
205 2000-04-26  H.J. Lu <hjl@lucon.org>
206
207         * configure.in (VERSION): Set to "0.1.7.1".
208         * configure: Regenerated.
209         * nfs-utils.spec: Updated.
210
211 2000-04-26  H.J. Lu <hjl@lucon.org>
212
213         * etc/redhat/nfslock.init: Check if lockd exits before killing
214         it.
215
216 2000-04-25  H.J. Lu <hjl@lucon.org>
217
218         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
219
220 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
221
222         * support/nfs/exports.c (parsesquash): Correctly set the
223         return pointer.
224
225 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
226
227         * support/include/nfs/nfs.h: Removed knowledge of internals of
228              kernel filehandles (which can change) and defined nfs_fh_size
229              which has variable size
230         
231         * support/nfs/getfh.c: defined getfh_size to use new syscall to
232              get variable sized file handles, and change getfh{,old} to
233              use nfs_fh_size        
234         
235         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
236              NFSv3 file handles
237
238         * tools/Makefile, tools/nlmtest/nlmtest.c
239              nlmtest.c depended on internel format of file handles, so now
240              doesn't work.
241
242         
243 2000-03-12  Chip Salzenberg  <chip@valinux.com>
244             Neil Brown  <neilb@cse.unsw.edu.au>
245
246         * support/nfs/rpcmisc.c (rpc_init): Share transports.
247
248 2000-03-13 H.J. Lu <hjl@lucon.org>
249
250         * etc/redhat/nfsd.init: Updated.
251
252         * etc/redhat/nfslock.init: Updated.
253
254         * nfs-utils.spec.in: Updated.
255
256         * configure.in (VERSION): Set to "0.1.7".
257         * configure: Regenerated.
258         * nfs-utils.spec: Updated.
259
260         * README: Updated.
261
262 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
263
264         * utils/exportfs/exportfs.c (dump): Included printing of
265            nohide, no_subtree_check, and insecure_locks
266
267 2000-02-26  Chip Salzenberg  <chip@valinux.com>
268
269         * config.mk.in (INSTALLSUID): Strip ("-s").
270         (INSTALLSCRIPT): Define.
271         * utils/nhfsstone/Makefile: Use it.
272
273 2000-02-26  Chip Salzenberg  <chip@valinux.com>
274
275         * utils/lockd/lockd.man: Create.
276         * utils/lockd/Makefile: Install it.
277         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
278         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
279         * utils/nhfsstone/Makefile: Install the helper scripts and
280           all four man pages.
281         * utils/exportfs/exports.man: Fix typo.
282
283 2000-02-26  Chip Salzenberg  <chip@valinux.com>
284
285         * support/nfs/xio.c (xungetc): Decrement line number when
286         character to unget is newline.  Make first parameter int, so
287         it can distinguish EOF from \377.
288         * support/include/xio.h (xungetc): Adjust prototype.
289
290 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
291
292         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
293         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
294         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
295
296         This is for supporting a new option introduced in 2.3.42
297
298 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
299
300         * COPYING: Added. GPL.
301
302 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
303
304         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
305         to get the block size.
306
307 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
308
309         * nfs-utils.spec.in: Update ftp site.
310
311 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
312
313         * README: Update hostnames.
314
315 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
316
317         * configure.in (VERSION): Set to "0.1.6".
318         * configure: Regenerated.
319         * nfs-utils.spec: Updated.
320
321         * README: Updated.
322
323 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
324
325         * utils/mountd/auth.c (auth_authenticate_internal): Call
326         xstrdup for hostname before passing it to gethostbyname.
327
328         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
329         of strdup.
330
331 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
332
333         * README: Update the mailing list address.
334
335 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
336
337         * configure.in (VERSION): Set to "0.1.5".
338         * configure: Regenerated.
339         * nfs-utils.spec: Updated.
340
341         * README: Updated.
342
343 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
344
345         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
346         for '/'.
347
348 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
349
350         * configure.in (VERSION): Set to "0.1.4".
351         * configure: Regenerated.
352         * nfs-utils.spec: Updated.
353
354         * README: Updated.
355
356 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
357
358         * nfs-utils.spec.in: New file.
359
360         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
361
362         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
363
364 1999-12-04  Chip Salzenberg  <chip@valinux.com>
365
366         * config.mk.in: Use $(CC) as set by configure.
367
368 1999-12-04  Chip Salzenberg  <chip@valinux.com>
369
370         * rules.mk: Call $(MAKE) with $(MFLAGS).
371
372 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
373
374         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
375         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
376
377 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
378
379         * nfs-utils.spec (Version): Set to 0.1.3.
380
381         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
382         * configure: Regenerated.
383
384         * README: Updated.
385
386 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
387
388         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
389         (_PATH_DEV_DSK): Likewise.
390         (getquotainfo): Match the mounting point from /etc/mtab
391         instead of calling nfsmount_to_devname ().
392
393 1999-11-24  Chip Salzenberg  <chip@valinux.com>
394
395         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
396         to the new port 24 as well as the historical port 100021.
397
398 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
399
400         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
401         stopping nfsd to stop spurious ESTALE on server shutdown.
402         
403 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
404
405         * support/nfs/exports.c (parseopts): make copy of opt string
406         before 'nul'ing out commas so that
407
408         # exportfs -o option1,option2 hosta:/fs hostb:/fs
409
410         applies both options to both exports.
411
412 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
413
414         * README: Fix a few typos.
415
416         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
417         of long.
418         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
419         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
420         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
421         (unsigned_dec): Likewise.
422         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
423         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
424
425         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
426         instead of LONG.
427         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
428         (unsigned_dec): Likewise.
429         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
430         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
431         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
432
433 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
434
435         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
436         * support/nfs/exports.c: added {no_,}subtree_check and changed
437           crossmnt to nohide
438         * utils/exportfs/exports.man: added no_subtree_check and nohide
439           and removed irrelevant stuff from unfsd.
440         * support/export/rmtab.c: rmtab_read didn't quite do the right
441           thing if a pathname from rmtab was a subdirectory of an export-point
442
443 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
444
445         * README: Updated ftp site.
446
447 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
448
449         * nfs-utils.spec (Version): Set to 0.1.2.
450
451         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
452         * configure: Regenerated.
453
454         * README: Updated.
455
456 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
457
458         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
459         (auth_authenticate_internal): Check for NULL return on forward
460         DNS lookup.
461         (auth_authenticate): Handle "no_forward_dns".
462
463 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
464
465         * Version 0.1.1 released.
466
467         * nfs-utils.spec (Version): Set to 0.1.1.
468
469         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
470         * configure: Regenerated.
471
472         * README: Updated.
473
474 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
475
476         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
477         to knfsd-clients.
478         (Provides): Likewise.
479
480 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
481
482         * Initial version 0.1 released.
483
484         * configure.in (VERSION): Set to "nfs-utils 0.1".
485         * configure: Regenerated.
486
487 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
488
489         * utils/mountd/mountd.c (get_exportlist): Cleanup.
490
491         * utils/exportfs/exportfs.c (unexport_all): Unexport from
492         kernel only if the entry is exported to kernel.
493         (unexportfs): Likewise.
494
495 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
496
497 1/ utils/mountd/rmtab.c::mountlist_list
498
499      This routine stats the rmtab file to see if it has changed.  It
500      if has, it cleans up it's old copy of the data. But it still
501      always re-read the file, thus returning multiple copies of the
502      data on consecutive calls without intervening changes.
503      "Showmount -a" didn't show this as it appears to sort/unique the
504      data, but 'strace showmount -a' showed that the size of the
505      datagram that it received grew.
506
507      I moved the getrmtabent loop inside the mtime test.
508
509 2/ utils/exportfs/exportfs.c
510    
511      Many routines used the m_path field of m_export instead of
512      e_path.
513      According to the comment in nfslib.h, m_path should only
514      be used when processing a mount request (i.e. in mountd)
515      where the mountpoint may be a subdirectory of the export point.
516
517      I changed all occurances of m_path to e_path
518
519
520 3/ utils/exportfs/exportfs.c:main
521
522       extra arguments are not meaningful with -a or -r, but
523       exportfs accepted them and then ignored the -a/-r, expect that
524       -r would still unexport everything first.
525
526       I generate an error if there are extra args and f_all
527
528 4/ utils/exportfs/exportfs.c:main
529      extract dump out as a special case.
530
531 5/ utils/exportfs/exportfs.c
532      made f_reexport a local variable.
533
534
535 6/ utils/exportfs/exportfs.c:main,exportall
536
537     support/export/rmtab.c
538        only  mayexport on newly created entries, don't set xtabent at all
539
540 7/ support/include/nfslib.h
541
542       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
543
544 8/ support/export/xtab.c
545
546       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
547       else from xtab
548
549
550 9/ support/export/xtab.c
551
552       xtab_mount_read now sets m_exported, and NOT
553         xtabent and mayexport
554
555       removed the append arguement from xtab_write as it was
556         never used.
557
558       added is_export flag to xtab_write similar to xtab_read
559         if is_export, only write entries with m_xtabent or m_addxtab
560         if !is_export, only write entries with m_exported
561      
562 10/ support/export/export.c::export_allowed_internal
563
564       added test for exp->m_mayexport, as the export tree
565         may have entries that are no longer allowed to be exported,
566         and so shouldn't caused deduced exported by rmtab_read
567
568 11/ utils/exportfs/exportfs.c::main
569         error checking of flags.
570
571 12/ utils/exportfs/exportfs.c
572
573         total rewrite of export and unexport logic.
574         We now:
575         -  build an exportslist of valid exports, based on
576            current etab file  and arguments,
577         -  read rmtab to instantiate relevant wild card entries
578         -  read etab to find out what is currently exported
579         -  synchronise intention with reality
580         -  write out etab and xtab
581
582 13/  various
583         discard the m_addxtab flag
584         add m_changed flag so we know what to report in exportfs
585
586 14/ utils/mountd/auth.c:auth_authenticate
587
588         the value returned by gethostbyaddr was trusted.
589
590         It now follows this with a call to gethostbyname
591         and checks that the address is in the list.
592
593 15/ support/export/nfsctl.c::cltsetup,expsetup
594
595         force client names to lowercase as kernel is
596         sensitive to case
597
598 16/ quietened a few compiler warnings
599
600 17/ support/export/client:client_lookup
601
602      look for pre-existing client with same name before creating
603         a new one.
604
605 18/ support/include/exportfs.h
606
607      The ordering of the MCL_* enum was:
608         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
609
610      I moved ANONYMOUS to the end.
611
612      The ordering is significant when an export entry is being searched for to 
613         match a given address.  There are two problems with ANONYMOUS being first.
614
615         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
616            then the ro case will always be found first and the privileged hosts won't get
617            their privilege
618         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
619            export entry for the specific host, and writes it to xtab.
620            When another request comes from the same host, the ANONYMOUS entry is found again, 
621            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
622            again.  If causes bloat in xtab.
623
624       Putting ANONYMOUS at the end reflects it's nature as a catch-all
625
626 19/ utils/exportfs/exportfs.man
627         many updates to the man page to reflect changes to the code
628
629 -----------------------
630
631
632
633 TODO:
634
635 - allow exportfs to modify rmtab file
636 - make sure kernel never gets two clients with same IP address
637     - possible kernel should reject
638     - needs to be some way to lookup client in kernel by IP address
639 - maybe get kernel to do case-insensitive comparisons on client names
640 - remove unused clients from kernel
641
642 - change etab to xtab and xtab to xtab.active
643
644 - timestamp and/or statd-stamp in rmtab for removing old entries.
645
646 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
647
648         * linux-nfs: New directory.
649         * linux-nfs/ChangeLog: Moved from ..
650         * linux-nfs/INSTALL: Likewise.
651         * linux-nfs/KNOWNBUGS: Likewise.
652         * linux-nfs/NEW: Likewise.
653         * linux-nfs/README: Likewise.
654         * linux-nfs/THANKS: Likewise.
655         * linux-nfs/TODO: Likewise.
656
657         * Starting from knfsd 1.4.7.