Patch #1798 has been updated. Project: Category: None Status: Open Summary: Fixes dir. dependancy and refcnt locking problem
Follow-Ups: Date: Tue 08/05/2003 at 23:23 By: marco_g Comment: This patch fixes Task #2489: "diskfs_node_refcnt_lock can be locked while write_node tries to lock it." Fatfs depends a lot on the directory of a file. It is opened every time when it reads from or writes to a file. This effect is recursively. It slows down fatfs and introduces some problems like this locking problem. I fixed this by adding a dependency to the directory for all opened files and I let every file hold a reference to that directory. Now fatfs consumes a bit more memory but that is much better than the currect situation because looking up the directory chain not only uses much memory but also much CPU time. ------------------------------------------------------- Date: Wed 08/06/2003 at 02:07 By: marcus Comment: This is definitely a better way to do it, but I have a couple of questions, and some nitpicks. First the easy stuff: After a full stop, there are two spaces, not one. Like this. See? :) Then, please always write good comments when marking code with XXX. Just having "return; /* XXX */" is unhelpful, and I would happily make a bet on that you will forget what it meant in half a year. Then, why is dirnode not filled in by diskfs_cached_lookup when called from diskfs_alloc_node? I must be missing something, because it seems to me that it is indeed set up. That's the only potential issue I could spot. If that is resolved, I think it can go in if you have tested it. ------------------------------------------------------- Date: Wed 08/06/2003 at 23:12 By: marco_g Comment: Ok, I will add more info to the "XXX" stuff. The diskfs_alloc_node function completely sucks. This needs careful investigation, I want to do that in a seperate patch. (After all locking issues are fixed). ------------------------------------------------------- ------------------------------------------------------- For more info, visit: http://savannah.gnu.org/patch/?func=detailpatch&patch_id=1798&group_id=30 _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd