Subject: [netatalk-admins] pre-a19 available and database thoughts

From: a sun <[email-masked]>
Date: Mon, 11 May 1998 09:35:48 -0700 (PDT)

i've made available a pre-a19 for people to try out. i still want to
stick in appledouble v2 for a19, but i wanted to see how what i have
works for people. once that is done, here's what's on my current top
list for future patches (as time permits):
	1) per-volume permanent did allocation
	2) work on a per-directory hashed file database. this should
	   get us case insensitivity, filename length tags, more parts
	   of AFP 2.1, and faster enumerates.
	3) look into better interopability with samba. do the people
	   @whistle.com already have some patches for this? in any
	   case, i'll probably try to make the locking code co-exist
	   better with samba. 

so, how do we handle dids using appledouble v2?
	1) did allocation handled by a bitmap in the top level being
           served (with nextdid at root level and actual did storage in
	   .AppleDouble headers). 
	2) the lower dids are handled separately and not actually handed
           out permanently. root vols always get 2, similar to how
	   it's handled now, even if they might have another number in
	   another circumstance. 
	3) otherwise, everybody keeps their did's (stored in
	   .AppleDouble header).
	4) if a new root directory is used, the afpd will step through
	   and fill in its bitmap for subdirectories. in case of
	   conflicts, it will just go through and force one of the
	   dids to get re-allocated. as a means of reducing the
	   chances of future conflicts in the case of a parent
	   directory/child subdirectory relationship, the parent afpd
	   can reset the .nextdid of a subdirectory mount point to
	   something currently out of range.

-----
anyway, here's what's different in the patch:
	a) there's a workaround for people nfs-mounting directories
	   who don't have working lockds. add -DHAVE_BROKEN_LOCKS to
	   your DEFS line if you're one of those people. it resorts to
	   flock-style locks in that case. as far as i can tell, lots
	   of oses don't have proper lockds. 

	   NOTE: this means that flocks will now be used to implement
	         transient locks on a file-wide basis. this is
	         different from the 1.4b2 use of flocks. as a
	         consequence, having serving the same file from
	         different machines may result in lossage.

	b) -nouservol option added to afpd.conf so that you can
	   prevent ~/.AppleVolumes from ever being read.
	   
	c) amount transferred in kilobytes recorded in syslog on
	   exit. 

	d) i stuck in the beta solaris streams module. if anybody
	   knows how to stick in socket options into it, i would
	   appreciate it. thanks to wes and folks for allowing me to
	   do this!

	e) i fiddled with some of the AFPLIBS a little in the hopes
	   that i can just get rid of the inet_aton glue in
	   libatalk/compat. let me know if i did enought.

	f) -DNEED_QUOTACTL_WRAPPER is again the default for linux
	   machines. 

it's retrievable at
<ftp://ftp.u.washington.edu:/public/asun/pre-a19.tar.gz>.

-a