Subject: Re: server woes due to file permissions
From: wesley.craig@umich.edu
Date: Wed Sep 22 1993 - 16:45:21 EDT
> From: "Erdwing Coronado" <coronado@p53.cancer.med.umich.edu>
> To: netatalk-admins@umich.edu
> What I have seen is that Macs running
> Appleshare prior to version 3.5 are incredibly slow (they might take
> 20 minutes to write a single 2KB file).
> Appleshare 3.5 (and Appletalk 58.x) cures this particular problem.
This is a bug in netatalk's atp implementation. The release packets
are too long (the same size as the last response packet). Older
version of AppleTalk drop these releases, causing *very* slow
performance.
Here's the patch:
*** netatalk-1.3b2/libatalk/atp/atp_rsel.c- Tue Aug 10 13:08:36 1993
--- netatalk-1.3b2/libatalk/atp/atp_rsel.c Wed Aug 25 21:39:07 1993
***************
*** 280,289 ****
#endif EBUG
if ( !ah->atph_rbitmap && ( req_hdr.atphd_ctrlinfo & ATP_XO )) {
! /* successful completion - send release */
req_hdr.atphd_ctrlinfo = ATP_TREL;
bcopy( (char *)&req_hdr, ah->atph_reqpkt->atpbuf_info.atpbuf_data + 1,
sizeof( struct atphdr ));
#ifdef EBUG
printf( "<%d> sending TREL", getpid() );
bprint( ah->atph_reqpkt->atpbuf_info.atpbuf_data,
--- 280,293 ----
#endif EBUG
if ( !ah->atph_rbitmap && ( req_hdr.atphd_ctrlinfo & ATP_XO )) {
! /*
! * successful completion - send release
! * the release consists of DDP type byte + ATP header + 4 user bytes
! */
req_hdr.atphd_ctrlinfo = ATP_TREL;
bcopy( (char *)&req_hdr, ah->atph_reqpkt->atpbuf_info.atpbuf_data + 1,
sizeof( struct atphdr ));
+ ah->atph_reqpkt->atpbuf_dlen = sizeof( struct atphdr ) + 5;
#ifdef EBUG
printf( "<%d> sending TREL", getpid() );
bprint( ah->atph_reqpkt->atpbuf_info.atpbuf_data,
> I have a similar setup and have noticed the permission problem as well.
> Thanks for the explanation.
Um, I don't think the explanation is too correct. I'll respond to the
original, in a few.
:wes
This archive was generated by hypermail 2b28 : Sat Dec 18 1999 - 16:19:53 EST