Re: minor GEOM disk API change coming
On Fri, Jun 22, 2012 at 19:50:01 +0300, Alexander Motin wrote:
> Hi.
>
> I understand problem you are going to fix and I think your patch should
> do it. What I don't very like is addition of new GEOM method. Now GEOM
> doesn't need it because all internal open/close operations and provider
> destructions there protected by the topology SX lock. Unluckily that
> lock doesn't cover g_wither_provider(), called by disk_gone() while
> holding CAM SIM lock. If not that SIM lock, it would be enough to just
> grab and drop GEOM topology lock to ensure that no new open() calls will
> follow. Indirect way to do it could be to post GEOM event that would
> drop the reference as soon as it will be handled and can obtain the
> topology lock. Unluckily it uses malloc() for event storage and also can
> be unreliable if called from under the SIM mutex lock. So it seems many
> things would be much easier if it was possible to drop SIM lock inside
> periph invalidate method, but now it is unsafe
>
> That is not an objection, just some thoughts about.
Yeah, there are things in CAM (and GEOM) that need to be cleaned up. I
wouldn't have added a GEOM method if there were a reasonable way around it,
but as you pointed out, there isn't right now.
I committed the patch, and plan to merge it to stable/9.
Ken
--
Kenneth Merry
ken@FreeBSD.ORG
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 7 之 7 篇):