Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Feb 2001 01:12:46 -0600
From:      Russell Cattelan <cattelan@thebarn.com>
To:        Zhiui Zhang <zzhang@cs.binghamton.edu>
Cc:        freebsd-fs@FreeBSD.ORG
Subject:   Re: Design a journalled file system
Message-ID:  <3A83986E.55789E59@thebarn.com>
References:  <Pine.SOL.4.21.0102061544230.6584-100000@opal>

next in thread | previous in thread | raw e-mail | index | archive | help
Zhiui Zhang wrote:

> I am considering the design of a journalled file system in FreeBSD. I
> think each transaction corresponds to a file system update operation and
> will therefore consists of a list of modified buffers.  The important
> thing is that these buffers should not be written to disk until they have
> been logged into the log area. To do so, we need to pin these buffers in
> memory for a while. The concept should be simple, but I run into a problem
> which I have no idea how to solve it:
>
> If you access a lot of files quickly, some vnodes will be reused.  These
> vnodes can contain buffers that are still pinned in the memory because of
> the write-ahead logging constraints.  After a vnode is gone, we have
> no way to recover its buffers. Note that whenever we need a new vnode, we
> are in the process of creating a new file. At this point, we can not flush
> the buffers to the log area.  The result is a deadlock.

XFS:
All pinned buffers are keep on a queue to be flushed by a
daemon that walks the queue looking for buffer that
have recently become unlocked and unpinned.


>
>
> I could make copies of the buffers that are still pinned, but that incurs
> memory copy and need buffer headers, which is also a rare resource.
>
> The design is similar to ext3fs of linux (they do not seem to have a vnode
> layer and they use device + physical block number instead of vnode +
> logical block number to index buffers, which, I guess, means that buffers
> can exist after the inode is gone). I know Mckusick has a paper on

Yup.  All meta data buffer use  and absolute device offset.


> journalling FFS, but I just want to know if this design can work or not.
>
> Any ideas?  Thanks for your help!
>
> -Zhihui
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-fs" in the body of the message

--
Russell Cattelan
cattelan@thebarn.com





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A83986E.55789E59>