On Mon, 2015-05-18 at 23:34 -0700, Christoph Hellwig wrote:
On Mon, May 18, 2015 at 10:00:20PM -0700, Nicholas A. Bellinger
wrote:
> I'm not crazy about splitting up target_core_fabric_ops back into
> separate structures for fabric vs. configfs callbacks again.
Did we ever have this? What we had before 4.1 was we needed to register
a vector with all ops, and then set up the attributes into a newly
allocated structure. This patch keeps that exact structure, and just
splits the operation vector in two - one that is passed to
target_register_template as is, and one that is passed to
core_tpg_register. As-is we register one single structure two times,
but each time only a subset of the content is ever used.
It's much simpler to just drop the duplicate parameter usage in
core_tpg_register(), and just reference ->tf_ops from the top-level
target_fabric_configfs->tf_group instead.
> What's in place for v4.2 with target_register_template() is
nice and
> simple, and breaking this out further for just the FC NPIV case doesn't
> really justify the extra complexity.
It's not really for FC NPIV, that's just the case showing the benefit of
having the clear abstraction. The code isn't any more complex than what
we had before for any of the fabric drivers.
I still don't see the point.