Freezing filesystem activity

Siddharth Aggarwal saggarwa at
Fri Dec 31 07:41:29 PST 2004

On Fri, 31 Dec 2004, Robert Watson wrote:

> On Thu, 30 Dec 2004, Siddharth Aggarwal wrote:
> > I want to freeze any filesystem activity in the kernel (a pseudo driver)
> > i.e. while my driver code is executing (this code basically flushes
> > buffer cache blocks to disk), I donot want any other filesystem
> > operations coming in. I tried this by locking the filesystem before my
> > code and unlocking right after as shown below. There is a problem
> > because it causes a hang (rather it seems as if
> If you would just like to freeze file system write operations, a facility
> for this already exists via the vn_start_write() and vn_write_finished()
> calls, which are used to gate access to the file system during snapshot
> operations.  All processes that attempt to start a write operation on the
> file system once it's frozen will block waiting until the write lock is
> released.  If you also need to freeze read operations, that would require
> fairly substantial modifications to the kernel to implement something not
> disimilar to the above.
> Robert N M Watson

Thanks for your reply.
I believe these functions are available in BSD 5.x and upwards. I am
trying to implement this in BSD 4.7. Do you have any suggestions how I can
do this (equivalent of vn_start_write() and vn_write_finished())?

More information about the freebsd-fs mailing list