-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 (sorry if this duplicated --- mail problem)
I am not sure about a few things, with this patch, so a few questions, if someone can point me to a doc that will explain a few things. But first the story: I found a few bugs in nfsd after some tail chasing. nfsd failed to create files from remote non-hurd server and was expecting anything but a -1 for an input size. nfsd also failed to correctly write the data in a copy to a server directory's file Both appear to be working with this patch, please test and comment. file_set_size seems to be failing on the value of (unsigned)-1 (4 gig). This caused the creation to fail. -1 is used to designate set size unnecessary. (I haven't looked into this further) I don't know (and don't know what reference to use to find) whether with large files, this is an incorrect assumption (using the code of - -1), as that is a valid value with large file support, I believe. I suspect that with the other dependencies on NFS2 in the code that the fact that this code depends on the use of a -1, isn't an issue, until NFS3 support is completed in nfsd? 2002-11-24 David Walter <[EMAIL PROTECTED]> * ops.c (op_create): changed size from off_t to loff_t cast size as int (not unsigned) in test (size == -1) (complete_setattr): changed size from off_t to loff_t (op_read): changed size from off_t to loff_t (op_write): changed size from off_t to loff_t, changed assignment from *reply to bp = (char *) p; (where p is in the nfs buffer) cvs server: Diffing . Index: ChangeLog =================================================================== RCS file: /cvsroot/hurd/hurd/nfsd/ChangeLog,v retrieving revision 1.22 diff --unified -w -i -r1.22 ChangeLog - --- ChangeLog 29 Sep 2002 15:12:48 -0000 1.22 +++ ChangeLog 24 Nov 2002 07:23:51 -0000 @@ -1,3 +1,14 @@ +2002-11-24 David Walter <[EMAIL PROTECTED]> + + * ops.c (op_create): changed size from off_t to loff_t + cast size as int (not unsigned) in test (size == -1) + (complete_setattr): changed size from off_t to loff_t + (op_read): changed size from off_t to loff_t + (op_write): changed size from off_t to loff_t, + changed assignment from *reply to bp = (char *) p; + (where p is in the nfs buffer) + + 2002-09-29 Marcus Brinkmann <[EMAIL PROTECTED]> * loop.c (server_loop): Use memset instead bzero. Index: Makefile =================================================================== RCS file: /cvsroot/hurd/hurd/nfsd/Makefile,v retrieving revision 1.3 diff --unified -w -i -r1.3 Makefile - --- Makefile 17 Sep 1996 16:43:00 -0000 1.3 +++ Makefile 24 Nov 2002 07:23:51 -0000 @@ -22,6 +22,7 @@ makemode := utility SRCS = cache.c loop.c main.c ops.c fsys.c xdr.c +#SRCS = cache.c loop.c main.c ops.c fsys.c xdr.c decode.c OBJS = $(subst .c,.o,$(SRCS)) LCLHDRS = nfsd.h target = nfsd Index: ops.c =================================================================== RCS file: /cvsroot/hurd/hurd/nfsd/ops.c,v retrieving revision 1.8 diff --unified -w -i -r1.8 ops.c - --- ops.c 29 Sep 2002 15:12:48 -0000 1.8 +++ ops.c 24 Nov 2002 07:23:51 -0000 @@ -60,7 +60,7 @@ int *p) { uid_t uid, gid; - - off_t size; + loff_t size; time_value_t atime, mtime; struct stat st; error_t err; @@ -233,7 +233,7 @@ int **reply, int version) { - - off_t offset; + loff_t offset; size_t count; char buf[2048], *bp = buf; mach_msg_type_number_t buflen = sizeof (buf); @@ -272,7 +272,7 @@ int **reply, int version) { - - off_t offset; + loff_t offset; size_t count; error_t err; mach_msg_type_number_t amt; @@ -285,7 +285,7 @@ p++; count = ntohl (*p); p++; - - bp = (char *) *reply; + bp = (char *) p; while (count) { @@ -323,7 +323,7 @@ struct stat st; mode_t mode; int statchanged = 0; - - off_t size; + loff_t size; p = decode_name (p, &name); mode = ntohl (*p); @@ -351,7 +351,7 @@ size = ntohl (*p); p++; - - if (size != -1 && size != st.st_size) + if ((int) size != -1 && size != st.st_size) { err = file_set_size (newport, size); statchanged = 1; - -- pub 1024D/DC92AE30 2002-02-26 David Walter <[EMAIL PROTECTED]> fingerprint = 50A0 E513 732D 1D0F BD26 C84E A8DD 9D80 DC92 AE30 sub 2048g/51023582 2002-02-26 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Hurd) Comment: Processed by Mailcrypt 3.5.6 and Gnu Privacy Guard <http://www.gnupg.org/> iD8DBQE94IPpqN2dgNySrjARAiwfAKCqVZAanLatuRGZAPK3CKcu6c6nGwCfeJMx ZQS9+flIvfDERengka5baKE= =RiI/ -----END PGP SIGNATURE----- _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd