About VFS locking strategy...

Shin,Hee-Sub heesub.shin at samsung.com
Wed Jan 18 15:44:01 PST 2006


Hi all. 

 

I'm speluking with source code of FreeBSD now, comparing VFS of FBSD and
the linux's. 

 

I have a question related with concurrent accesses to the file system. It
is seemed that VFS locks and unlocks each VNODEs before calling VNODE OPS
provided by underlying FS. For example, it calls vn_lock(vp, ...) before
jumps to VOP_READ() in vn_read(). 

 

WindowsCE kernel also has a component that is responsible for switching FS
requests to appropriate file-system underlying and similar with VFS of many
UNIX variants, but it's not perfectly same. In WindowsCE world, file system
driver code can be called on re-entry and file system programmer should
keep this in mind. The manager does not manage any synchronization problems
that can be occurred when multiple threads access to the file system. It
has only a few locks for protecting its own data structures. 

 

How does it manage synchronization problems in the VFS of FreeBSD? 

 

Please give me a detailed description about lock strategy the FreeBSD uses. 

 

 

Thanks in advance. 

Charlie



More information about the freebsd-questions mailing list