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)

Attachment: vop_bwrite.diff
Description: Binary data

Reply via email to