Update of /cvsroot/libsysio/libsysio
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16325
Modified Files:
Makefile.am
Log Message:
+ Merged in changes from namespace_assembly branch (see .../misc/init-env.sh)
This provoked a bunch of bugs. See below.
+ Fixed a bug in _sysio_enumerate_extents(). If the IO operation was
short, it would go round the loop again, mistakenly trying
to fill more of the extent.
+ In rw.c, fixed bugs in [p]{read,write}[vx] (all the synchronous routines)
that improperly propagated error returns. They were returning -errno
instead of setting errno and returning -1.
+ In fs_native.c:doiov, fixed a bug where a zero-length IO was improperly
thought to be an error.
+ In lseek.c:_sysio_lseek, fixed final position check to properly determine
{under,over}flow.
+ In link.c:link, fixed the existence check. No error is returned for
nonexistent files when ND_NEGOK is specified. We're supposed
to check whether it's a negative entry or not.
+ A new macro, I_GONE, was added to inode.h. This will *try* to
kill an inode but if it can't, it becomes a zombie instead.
+ In unlink.c:unlink, link.c:link, rename.c:rename, the driver ops
were being called but the actual operation in the internal path
tree was not reflected. Also, for unlink and rename, use the
new I_GONE macro on the destroyed inode.
+ In fs_native.c:native_inop_gone, close() was always called, even when
the fildes was -1.
+ In fs_native.c:native_inop_gone, close() was called. We really meant
to call syscal(SYS_close, ...);
+ In namei.c:_sysio_path_walk, fixed broken symlink handling. It wasn't
following symlinks anywhere if ND_NOFOLLOW was set. That flag only
means that the *last* component should not be followed.
+ In namei.c:_sysio_path_walk, fixed buffer overrun problem for very long
symlinks.
+ In fs_incore.c, fixed dirop_{link,rename,unlink,rmdir} because they
were manipulating the system path cache and shouldn't.
+ In mount.c:_sysio_unmount_all we were mistakenly releasing an FS root
after a failed unmount attempt.
+ Fixes in test_regions.c free allocated memory at the end so valgrind
doesn't show a leak.
Index: Makefile.am
===================================================================
RCS file: /cvsroot/libsysio/libsysio/Makefile.am,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -b -B -p -r1.10 -r1.11
--- Makefile.am 21 Jan 2004 14:44:53 -0000 1.10
+++ Makefile.am 14 Feb 2004 19:42:57 -0000 1.11
@@ -65,7 +65,7 @@ __LIBBUILD_DIR__libsysio_a_SOURCES = \
include $(top_srcdir)/Rules.make
-EXTRA_DIST = Rules.make $(TESTS_EXTRA) $(SRCDIR_EXTRA) \
+EXTRA_DIST = Rules.make misc/init-env.sh $(TESTS_EXTRA) $(SRCDIR_EXTRA) \
$(INCLUDE_EXTRA) $(STDFD_EXTRA) $(INCORE_EXTRA) \
$(SOCKETS_EXTRA) $(NATIVE_EXTRA) $(YOD_EXTRA)
|