Date: Thu, 19 Jan 2006 08:43:55 +0900 From: "Shin,Hee-Sub" <heesub.shin@samsung.com> To: freebsd-questions@FreeBSD.org Subject: About VFS locking strategy... Message-ID: <000001c61c89$0da481a0$19a5580a@swcenter.sec.samsung.co.kr>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000001c61c89$0da481a0$19a5580a>