In message <[email protected]>,Rainer Toebbicke writes: >Chas Williams (CONTRACTOR) wrote: > >> i still wonder if the cache manager shouldnt open a single file (sparse >> mode) and just seek/read/write. this would solve a couple of potential >> problems with other filesystems as well. > >There are some issues with the canonical approach of just using one file and >seek to chunkno*chunksize: > >1. directories are read in total, regardless of chunk boundaries;
ah. i did indeed forget this point. this is particular annoying with regard to memcache (it causes a realloc of the chunk if the chunk is undersized). for now, we could ensure that chunk sizes are 'sufficiently' large. >2. it is, to my knowledge and on a POSIX level, not possible to "free" parts >of a file. Hence, if the number of chunks in the cache exceeds the size of >/usr/vice/cache you run out of space; i dont ever wish to free parts of a file. i just wanted to create the file quickly to avoid making the user wait while a 1GB is written. oversubscribing /usr/vice/cache is somewhat like asking the doctor why it hurts when you hit yourself with a hammer. >3. unless done carefully, if you re-write parts of a file the system may end >up reading it in first (partial blocks). > >With individual cache files and well-placed truncate() calls these issues go >away. i am not convinced that the well placed truncate calls have any meaning. the filesystems in question tend to just do what they want. _______________________________________________ OpenAFS-info mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-info
