On Fri, Oct 31, 2008 at 03:10:24PM -0400, Thor Lancelot Simon wrote: > On Fri, Oct 31, 2008 at 08:03:32PM +0100, Juergen Hannken-Illjes wrote: > > On Fri, Oct 31, 2008 at 07:03:59PM +0100, Joerg Sonnenberger wrote: > > > > The reason for these wapbl locks is ffs snapshots. VOP_PUTPAGES() may > > need to copy-on-write which needs to run inside a wapbl transaction > > as we allocate blocks here. > > Would this problem be any easier to solve if the snapshot and wapbl > code used the same notion of a "transaction"? I was very surprised > to see that wapbl brought in an a whole new idea of a "fs transaction" > when the snapshot code already seemed to have one. I think one issue is that wapbl predates fss. Yes, it only got released recently, but it is older. Also, I believe wapbl and fss really do have different ideas about what their transactions are. wapbl always needs to copy blocks and the snapshot code only needs to copy blocks if they change for the first time since the last snapshot. Likewise, wapbl never allocates blocks (it just writes a copy to the journal) and the snapshot code allocates new blocks in the fs. Take care, Bill
Attachment:
pgpp6qmk7tLYv.pgp
Description: PGP signature