dazuko-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dazuko-devel] DazukoFS


From: tvrtko . ursulin
Subject: Re: [Dazuko-devel] DazukoFS
Date: Tue, 27 Feb 2007 12:48:20 +0000

John Ogness <address@hidden> wrote on 23/02/2007 21:28:03:

> address@hidden wrote:
> >>Well, yes, it does work. However, it uses the d_path() function. One 
of
> >>the advantages of DazukoFS is that we can get away from the d_path()
> >>function. The problem with this function is:
> >>
> >>4. __d_path() would allow us to get around #2, but it is not 
re-entrant
> >>safe and it is not exported to modules
> > 
> > What exactly do you mean with re-entrant safe?
> 
> d_path() is a wrapper for __d_path() that does two things: It uses the
> root mount of the current process and it calls __d_path() while holding
> the necessary lock "dcache_lock".
> 
> Unfortunately "dcache_lock" is a static variable within fs/dcache.c,
> which means no other kernel code outside of fs/dcache.c can access this
> lock. This means that a kernel module cannot safely call __d_path() (on
> SMP machines) and must use the "restricted" d_path() function.
> 
> Note: I just noticed that 2.6.20 now exports dcache_lock. Interesting...

Yes, and for earlier version you could still get it from the System.map 
file which would be equivalent to syscall_table stuff. Then any 
re-implementation of __d_path can be safe.
 
Btw, I just tried it on FreeBSD 6.2 and I seem to be missing 
/usr/src/sbin/mount_nullfs directory. Any ideas on where can I get that?

Tvrtko


Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon,
OX14 3YP, United Kingdom.

Company Reg No 2096520. VAT Reg No GB 348 3873 20.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]