source: rtems/cpukit/libfs/src/nfsclient/ChangeLog.slac @ 0ec9bbc

5
Last change on this file since 0ec9bbc was 58d38a0, checked in by Joel Sherrill <joel.sherrill@…>, on 02/26/08 at 19:23:53

2008-02-26 Joel Sherrill <joel.sherrill@…>

  • configure.ac, libfs/Makefile.am: Add nfsclient to cpukit. Although the use of RPC/XDR could be an issue, the code does build multilib across all targets. There are a few remaining warnings to deal with.
  • libfs/src/nfsclient/.cvsignore, libfs/src/nfsclient/ChangeLog.slac, libfs/src/nfsclient/LICENSE, libfs/src/nfsclient/Makefile.am, libfs/src/nfsclient/README, libfs/src/nfsclient/preinstall.am, libfs/src/nfsclient/rfc1094.txt, libfs/src/nfsclient/proto/mount_prot.h, libfs/src/nfsclient/proto/mount_prot.x, libfs/src/nfsclient/proto/mount_prot_xdr.c, libfs/src/nfsclient/proto/nfs_prot.h, libfs/src/nfsclient/proto/nfs_prot.x, libfs/src/nfsclient/proto/nfs_prot_xdr.c, libfs/src/nfsclient/src/cexphelp.c, libfs/src/nfsclient/src/dirutils.c, libfs/src/nfsclient/src/librtemsNfs.h, libfs/src/nfsclient/src/nfs.c, libfs/src/nfsclient/src/nfs.modini.c, libfs/src/nfsclient/src/nfsTest.c, libfs/src/nfsclient/src/rpcio.c, libfs/src/nfsclient/src/rpcio.h, libfs/src/nfsclient/src/rpcio.modini.c, libfs/src/nfsclient/src/sock_mbuf.c, libfs/src/nfsclient/src/xdr_mbuf.c: New files.
  • Property mode set to 100644
File size: 5.3 KB
Line 
1Changes since RTEMS-NFS 1.4:
2LICENSE:
3 - changed license terms; RTEMS-NFS is now released under the more liberal
4   'SLAC license'.
5NFS:
6 - silenced compiler warnings (follow handler declaration changes in libio.h
7   by using 'size_t' instead of 'uint32_t' etc.).
8
9Changes since RTEMS-NFS 1.3:
10RPCIOD:
11 - round timeout to next system clock tick and ensure it is at least
12   1 tick.
13 - cap retransmission timeout to transaction lifetime.
14 - BUGFIX (reported by Steven Johnson, 12/5/06): we must change the XID
15   before sending a timed-out transaction back to the requestor to prevent
16   a late reply from being accepted.
17 - Made task priority run-time configurable (and read from rtems_bsdnet_config
18   by default).
19
20NFS:
21 - added nfsGetTimeout() and nfsSetTimeout() to retrieve and modify,
22   respectively the (global) timeout for NFS/MOUNT operations.
23 - Minor mod. to fix 'type-punned pointer' warning (can avoid pointer cast).
24 - Added global variable 'nfsStBlksize' (defaults to 8k) which is now
25   used to report the file system's 'preferred' blocksize (stat(2)/st_blksize).
26   The old behavior (server's fattr.st_blksize is passed through) can be
27   obtained by setting nfsStBlksize=0.
28   The new feature lets stdio use 8k buffers (only if newlib was built with
29   HAVE_BLKSIZE defined). This enhances NFS (buffered) read performance quite
30   a bit. Thanks to Steven Johnson <sjohnson@sakuraindustries.com> for helping
31   with this.
32 - Updated README (performance section).
33 - Added simple performance test: nfsTest.c
34
35Changes since RTEMS-NFS 1.3_pre2:
36 RPCIOD:
37 - fix a problem with NFS server clusters (reply comes from an IP address
38   different from the destination of the request) by relaxing paranoia checks.
39
40Changes since RTEMS-NFS 1.2:
41 NFS:
42 - replaced inet_aton -> inet_pton
43 - replaced unsigned32 -> uint32_t
44 - added _KERNEL definition for 4.7 compilation
45 - silenced compiler warnings (4.7)
46 - added -Wno-unused-variable in 'proto' -- rpcgen produces a lot of them.
47 - new locking scheme. The 'in-use' counters cannot be protected by a mutex
48   because files might be closed when a thread is deleted from a dispatch-disabled
49   section where mutexes must not be locked. The counters are now protected by
50   disabling interrupts.
51   The only critical race-condition I can see ATM is while the NFS is being
52   unmounted and the mount point is crossed by another thread. It should be the
53   generic FS code's responsibility to handle that (but AFAIK, it doesn't) --
54   it's out of our scope...
55 - ftruncate didn't work. The functionality is achieved by nfs_sattr()
56   setting the file size to 0. However, nfs_sattr() always tried to set
57   all attributes (re-applying the current values to fields we didn't
58   want to change) which failed (EPERM) if we were not the owner.
59   Now, we restrict modifications to the requested fields (in case of
60   ftruncate this is *only* the size), adhering to rfc1094 (which states
61   that unused fields shall be set to -1).
62 - lseek(SEEK_END) didn't work. The underlying RTEMS filesystem code
63   uses an internal file 'size' field to compute the offset whence SEEK_END.
64   Instead of painfully maintaining 'size' across all system calls, we
65   just tweak the offset for SEEK_END and leave 'size' unused.
66 - fix: O_APPEND wasn't honoured. Note that there is no NFS 'append' call -
67   the client simply uses the currently available idea of the file size
68   to set the write offset. This obviously is subject to race conditions
69   if multiple clients are writing the same file.
70 dirutils:
71 - replaced read/write calls by stdio; In case of copying to stdout, I
72   experienced occasional crashes when write(fileno(stdout),...) -- according
73   to the standard, mixing low-level i/o with stdio might produce undefined
74   results; there we go...
75
76Changes since RTEMS-NFS 1.1:
77 NFS:
78 - unlink() didnt work. The underlying RTEMS filesystem code evaluates
79   a '..' path on a non-directory node to find out the file's parent
80   directory. Workaround to this semantically inelegant RTEMS feature
81   was implemented.
82 
83Changes since RTEMS-NFS 1.0.beta3:
84 NFS:
85 - fixed possible string overrun in nfsMount
86 - nfs_read_dir() must reset the 'eofreached' flag if it skipped
87   dirents present in the xdr but not fitting into the user buffer.
88 - nfsMountsShow() released the wrong lock!
89 RPCIO:
90 - cannot delete locked binary semaphore (authlock) -- must unlock
91   first (authlock was never deleted and hence effectively leaked)
92 - added ASSERT paranoia around mutex primitives
93 - Relaxed paranoia check / ASSERTion failure:
94   paranoia_free() is called more than once on an ext_buf - it must
95   undo calls to paranoia_refcnt() - hence the 0 == --refcnt check
96   is too strict.
97 - Added a DEBUG flag to introduce random packet losses for testing
98   retransmission.
99 xdr_mbuf:
100 - make sure we do a signed comparison
101
102Changes since rtemsNFS-1.0.beta2:
103 - moved 'tar' command to the 'config' area; use
104   predefined 'make-tar' in individual Makefiles
105 - use INSTALL_CHANGE for headers, not INSTALL_VARIANT (probably doesn't
106   matter, though)
107 - use LD not LD_FOR_TARGET (to get absolute path)
108 - fixed assertion failure print format
109 - print requestor id if send_event fails - had just experienced this :-(
110 - hint about fprintf using FP registers is probably PPC specific
111 - provided implementation for xdrmbuf_getlong_aligned(). i386-rtems
112   seems to use it.
Note: See TracBrowser for help on using the repository browser.