]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 309030,309039,309080,309081,309083
authorsephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 29 Dec 2016 06:45:36 +0000 (06:45 +0000)
committersephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 29 Dec 2016 06:45:36 +0000 (06:45 +0000)
commitff2e0f37e71f665db3f1f091d7ead5ccac0ec22a
tree7be07dcf378f2e29abb6b3fb5f28bd7a00a02a79
parentef0b61ab1747734a5b0cf5f451099e7aeeb532a4
MFC 309030,309039,309080,309081,309083

309030
    hyperv/vmbus: Set a mark on the revoked channel.

    This will be used to fix device detach DEVMETHOD for revoked primary
    channel.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8522

309039
    hyperv/vmbus: Merge free/active locks.

    These functions are only used by management stuffs, so there are
    no needs to introduce extra complexity.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8524

309080
    hyperv/vmbus: Implement orphan support for transaction API

    It will be used to fix the primary channel revocation support.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8525

309081
    hyperv/vmbus: Fix the primary channel revoking on vmbus side.

    Drivers can now use vmbus_chan_{is_revoked,set_orphan,unset_orphan}() and
    vmbus_xact_ctx_orphan() to fix their attach/detach DEVMETHODs for revoked
    primary channels.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8545

309083
    hyperv/vmbus: Fix the multi-channel revoking on vmbus side.

    - Reference count the sub-channel when channel offer message is
      processed, so that immediate rescind message on the same channel
      will not race sub-channel open on driver side.
    - Drop the above reference when sub-channel is closed, this closely
      mimics the hypervisor's reaction when primary channel is closed
      on the VM side.  No drivers use sub-channel after primary channel
      is closed.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8546

git-svn-id: svn://svn.freebsd.org/base/stable/10@310740 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/hyperv/include/vmbus.h
sys/dev/hyperv/include/vmbus_xact.h
sys/dev/hyperv/vmbus/vmbus_chan.c
sys/dev/hyperv/vmbus/vmbus_chanvar.h
sys/dev/hyperv/vmbus/vmbus_xact.c