With the attached diff VOP_BWRITE() arguments get changed as - VOP_BWRITE(struct buf *) + VOP_BWRITE(struct vnode *, struct buf *)
and all calls become VOP_BWRITE(bp->b_vp, bp). With this change layered file systems no longer treat it special as it is now possible to descend on the vnode argument instead of changing bp->b_vp and running into trouble when an async VOP_BWRITE() uses the wrong vnode. This is a first step to make device nodes on null mounts mountable. Any objections? -- Juergen Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)
vop_bwrite.diff
Description: Binary data