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

Reply via email to