Christoph Hellwig wrote:
> Replace the b_fspriv pointer and it's ugly accessors with a properly
> types
> xfs_mount pointer. Also switch log reocvery over to it instead of using
> b_fspriv for the mount pointer.
Not that I object to cleaning this stuff up, (it's messy and hard to follow)
But currently the code maps well on freebsd since it has a
b_fsprivate1-3 buf field and
the macros handle the setting reading currently.
Granted I could simply un-apply this change for freebsd but I would
prefer we
keep un-needed differences to a minimum.
I would prefer if we came up with a structure that could be attached to
an opaque b_data field
that would be able to hold all current private info.
Currently it looks like b_strat is used for wrapper functions that
either check the mp for shutdown or
iclog->ic_state & XLOG_STATE_IOERROR.
Maybe we can collapse b_strat, fspriv2/3 into one structure that would
have something like a
can_io function that would either allow or disallow io.
We could clean up more of the buf macros then.
-Russell
|