]> xenbits.xensource.com Git - pvdrivers/win/xenvbd.git/log
pvdrivers/win/xenvbd.git
9 years agoAdd POOL_NX_OPTIN=1 to all drivers staging-8.1 8.1.0
Owen Smith [Mon, 29 Feb 2016 16:51:55 +0000 (16:51 +0000)]
Add POOL_NX_OPTIN=1 to all drivers

Win10's verifier asserts that all non-paged pool allocations are
made from the non-paged no-execute pool

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoOverride PartMgr SanPolicy 8.1.0-rc12
Paul Durrant [Mon, 29 Feb 2016 10:20:50 +0000 (10:20 +0000)]
Override PartMgr SanPolicy

This patch makes sure that PartMgr's SanPolicy is 1 after XENVBD
installation, which means that newly plugged VBDs will come online as most
admins will expect.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoAvoid evaluating assertion expressions in free builds 8.1.0-rc11
Paul Durrant [Fri, 22 Jan 2016 17:08:59 +0000 (17:08 +0000)]
Avoid evaluating assertion expressions in free builds

The evaluations are pointless and the warnings generated by not evaluating
can be squashed with a couple of #pragmas.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoTurn off ASSERTions in free builds
Paul Durrant [Mon, 4 Jan 2016 15:33:42 +0000 (15:33 +0000)]
Turn off ASSERTions in free builds

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoFixed improper SCSI UNMAP request implementation 8.1.0-rc10
Dave Buches [Fri, 22 Jan 2016 04:30:03 +0000 (20:30 -0800)]
Fixed improper SCSI UNMAP request implementation

The XenDisk disk class filter driver was generating requests
that did not adhere to the t10 SBC-3 SCSI specification for UNMAP
operations.  Specifically, the data length and block descriptor data
length fields were not populated properly per the spec.

Although the XenVBD miniport driver handled these malformed
requests correctly, it failed to handle *properly* formed requests,
which would result in unpredictable behavior.

Additionally, the XenDisk filter wasn't properly responding to
StorageDeviceTrimProperty queries per the MSDN spec. Specifically,
the DEVICE_TRIM_DESCRIPTOR::Version structure member needs to be set
to sizeof(DEVICE_TRIM_DESCRIPTOR).

Signed-off-by: David Buches <davebuch@amazon.com>
9 years agoUse correct FdoD0ToD3 function. 8.1.0-rc9
Mark Syms [Fri, 8 Jan 2016 11:50:22 +0000 (11:50 +0000)]
Use correct FdoD0ToD3 function.

Signed-off-by: Mark Syms <mark.syms@citrix.com>
9 years agoDon't use C runtime version of toupper() 8.1.0-rc8
Paul Durrant [Thu, 10 Dec 2015 11:39:37 +0000 (11:39 +0000)]
Don't use C runtime version of toupper()

It seems that, despite its trivial functionality, the runtime implementation
insists on converting to Unicode! This means the function is actually only
safe at PASSIVE_LEVEL.
This patch implements __toupper() as a replacement with no such hidden
nastiness and modifies callers to use that.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoRemove BlockRing.Outstanding / BlockRingAbort 8.1.0-rc7
Owen Smith [Wed, 2 Dec 2015 15:16:49 +0000 (15:16 +0000)]
Remove BlockRing.Outstanding / BlockRingAbort

The BlockRing Outstanding stat is duplicated by SubmittedReqs.Count.
Remove BlockRing.Outstanding and the BlockRingAbort function as the
stat is not useful, and can trigger ASSERTion failures when requests
are stuck outstanding on a broken ring that is being destroyed.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoNULL the SuspendCallback context when going to D3...
Paul Durrant [Wed, 2 Dec 2015 15:31:27 +0000 (15:31 +0000)]
NULL the SuspendCallback context when going to D3...

...otherwise going back to D0 will hit an ASSERTion failure.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoUpdate interfaces. 8.1.0-rc6
Paul Durrant [Fri, 27 Nov 2015 15:18:47 +0000 (15:18 +0000)]
Update interfaces.

Interface versions seem to have got out of sync.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoPublish distribution information and hotplug capability to xenstore 8.1.0-rc5
Paul Durrant [Tue, 24 Nov 2015 17:47:59 +0000 (17:47 +0000)]
Publish distribution information and hotplug capability to xenstore

My recent patch series to Xen added a documented path and format for
publishing information about PV driver distributions and hotplug
capability to xenstore.

This patch adds code to populate the documented paths (should they exist)
with information about the XENVBD driver package and the driver's ability
to handle hotplug events.

Suggested-by: Owen Smith <owen.smith@citrix.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoKick notifier DPC directly. 8.1.0-rc4
Owen Smith [Thu, 22 Oct 2015 13:13:48 +0000 (14:13 +0100)]
Kick notifier DPC directly.

EVTCHN(Trigger, ...) was changed with the FiFo event channel
implementation, which led to a performance regression. Kicking
the notifier does not require triggering the local end of the
event channel, so shortcut this process by queueing the notifier
DPC directly.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoAdd a registry override to veto driver installations 8.1.0-rc3
Paul Durrant [Thu, 22 Oct 2015 14:55:20 +0000 (15:55 +0100)]
Add a registry override to veto driver installations

There are certain cases where a local installer package may wish to
prevent Windows Update installations of drivers. This can be achieved by
having the co-installer check for a registry value and fail it's pre-install
phase if the value is present.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoChange coinstaller log level to TXTLOG_WARNING
Paul Durrant [Thu, 22 Oct 2015 13:54:55 +0000 (14:54 +0100)]
Change coinstaller log level to TXTLOG_WARNING

Windows 10 does not enable logging of TXTLOG_DETAILS in setupapi.dev.log by
default, so use TXTLOG_WARNING to make sure the messages appear.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoParameterize vendor prefix and PCI device id 8.1.0-rc2
Paul Durrant [Tue, 8 Sep 2015 16:36:00 +0000 (17:36 +0100)]
Parameterize vendor prefix and PCI device id

The XenServer PV vendor prefix ('XS') and PCI device (C000) are still
hard-coded into the XENVBD package. These need to be stripped out and
replaced by values that can be customized at build time. This patch does
that.

The patch also reverts to building version.h and customizing xenvbd.inf
directly in build.py.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoClear unplug requests from co-installer 8.1.0-rc1
Paul Durrant [Thu, 3 Sep 2015 16:36:43 +0000 (17:36 +0100)]
Clear unplug requests from co-installer

When XENVBD is uninstalled there is no suitable notification in kernel
which can be used to clear any remaining unplug requests. This leads to
a certain 0x7B bugcheck on reboot. This patch therefore does the job
from the co-installer since this seems to be the only way.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoSimplify unplug request
Paul Durrant [Thu, 3 Sep 2015 16:22:35 +0000 (17:22 +0100)]
Simplify unplug request

Since the PDO driver in XENVBD's case is in-box, we don't need to defer
requesting emulated device unplug to when PDOs are started, we can do it
when the FDO is started.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoReduce the number of registered watches per target
Paul Durrant [Tue, 11 Aug 2015 08:09:01 +0000 (09:09 +0100)]
Reduce the number of registered watches per target

XENVBD registers watches for changes in various per-VBD backend quantities,
e.g. state. All these watches, however, trigger one common event and so it
is wasteful of the guest's watch quota. Instead register a single watch on
the backend key, which will fire if any key below it is modified. This may
cause the event to be set slightly more often, but saves 3 watches per
target.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoAdd missing parameter to log statement
Paul Durrant [Fri, 7 Aug 2015 16:57:40 +0000 (17:57 +0100)]
Add missing parameter to log statement

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoSet per-disk queue depth
Paul Durrant [Fri, 7 Aug 2015 16:03:16 +0000 (17:03 +0100)]
Set per-disk queue depth

Windows apparently defaults to a queue depth of 20, which is a bit on the
small side. This patch sets the value to the maximum possible, which is
apparently 254 instead of the documented 255.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoUpdate docs and set version to 8.1.0
Paul Durrant [Fri, 24 Jul 2015 11:49:44 +0000 (12:49 +0100)]
Update docs and set version to 8.1.0

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoFix build warning
Paul Durrant [Thu, 23 Jul 2015 14:18:35 +0000 (15:18 +0100)]
Fix build warning

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoRemove Relations->Count assertion
Paul Durrant [Thu, 23 Jul 2015 14:04:36 +0000 (15:04 +0100)]
Remove Relations->Count assertion

It's bogus in the case of block-detach

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoDon't drop FDO mutex between PDO enumeration and Relations Count check
Paul Durrant [Thu, 23 Jul 2015 11:11:19 +0000 (12:11 +0100)]
Don't drop FDO mutex between PDO enumeration and Relations Count check

A PDO can disappear between these two, leading to an assertion failure so
keep the lock held to stop the list from being changed.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoAdd missing unplug request
Paul Durrant [Wed, 22 Jul 2015 15:44:49 +0000 (16:44 +0100)]
Add missing unplug request

If a new target is enumerated during a device relations query then no
request is made for unplug, or reboot. This patch adds the necessary code
to rectify this issue.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoForce a re-enumeration of PDOs after filter destruction
Paul Durrant [Wed, 22 Jul 2015 12:25:11 +0000 (13:25 +0100)]
Force a re-enumeration of PDOs after filter destruction

If the underlying PDO has not gone away then we need to create a fresh
filter object.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoRemove interface subscription and unplug code from the co-installed...
Paul Durrant [Mon, 20 Jul 2015 09:02:58 +0000 (10:02 +0100)]
Remove interface subscription and unplug code from the co-installed...

...and use the new XENBUS_UNPLUG interface to request unplug.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoIgnore failures when closing the frontend
Paul Durrant [Fri, 10 Jul 2015 16:29:23 +0000 (17:29 +0100)]
Ignore failures when closing the frontend

The backend may disappear when this happens but we must always carry on
and disconnect the frontend regardless.

From: Owen Smith <owen.smith@citrix.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoRemove PDO set/is-missing logic from XENDISK
Paul Durrant [Fri, 10 Jul 2015 16:09:13 +0000 (17:09 +0100)]
Remove PDO set/is-missing logic from XENDISK

It's all completely unnecessary for a filter driver

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoUse inline functions to acquire/release FDO mutex...
Paul Durrant [Wed, 8 Jul 2015 17:04:59 +0000 (18:04 +0100)]
Use inline functions to acquire/release FDO mutex...

...rather then open-coded acquires and releases.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoREMOVE_DEVICE must set device to Deleted
Owen Smith [Mon, 29 Jun 2015 13:45:53 +0000 (14:45 +0100)]
REMOVE_DEVICE must set device to Deleted

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoFix target enumeration
Owen Smith [Mon, 29 Jun 2015 10:13:50 +0000 (11:13 +0100)]
Fix target enumeration

Issues were found when enumeration races with plug/unplug. This patch
should fix these problems.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoUpdate bindings
Paul Durrant [Wed, 8 Jul 2015 13:36:06 +0000 (14:36 +0100)]
Update bindings

Refresh the interface headers and add the XENBUS major version into
the top byte of the revision, since this is now used to avoid namespace
conflicts.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoAccount for rewinding requests
Owen Smith [Mon, 15 Jun 2015 11:05:19 +0000 (12:05 +0100)]
Account for rewinding requests

When requests are rewound to the fresh queue during resume from suspend,
decrement the Outstanding stat so that an ASSERT is not triggered.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoFix device relations in xendisk filter
Paul Durrant [Mon, 15 Jun 2015 11:10:45 +0000 (12:10 +0100)]
Fix device relations in xendisk filter

Incorrect handling breaks device removal. The crucial point is that a
PDO in the case of a filter should always disappear when an
IRP_MN_REMOVE_DEVICE comes down the stack. It does not need to stick around
in some cases, like a true PDO.

Signed-off-by: Ghiya, Murtaza <murtazg@amazon.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
9 years agoFix ASSERT
Owen Smith [Thu, 11 Jun 2015 11:30:31 +0000 (12:30 +0100)]
Fix ASSERT

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoFix ASSERT, s/Recieved/Received
Owen Smith [Thu, 11 Jun 2015 11:30:30 +0000 (12:30 +0100)]
Fix ASSERT, s/Recieved/Received

Signed-off-by: Owen Smith <owen.smith@citrix.com>
9 years agoCalculate size of DEVICE_RELATIONS
Owen Smith [Thu, 11 Jun 2015 11:30:29 +0000 (12:30 +0100)]
Calculate size of DEVICE_RELATIONS

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoSet script file execute permissions
Paul Durrant [Thu, 12 Mar 2015 11:33:00 +0000 (11:33 +0000)]
Set script file execute permissions

The lack of execute persmission causes clones done using cygwin git to
leave scripts in a non-executable state.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoA further VS2013 SDV fix
Paul Durrant [Tue, 3 Mar 2015 10:28:33 +0000 (10:28 +0000)]
A further VS2013 SDV fix

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoFix VS2013 SDV failures
Paul Durrant [Mon, 2 Mar 2015 17:25:57 +0000 (17:25 +0000)]
Fix VS2013 SDV failures

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoFix austere allocator when small heap list head is NULL
Owen Smith [Wed, 25 Feb 2015 15:05:12 +0000 (15:05 +0000)]
Fix austere allocator when small heap list head is NULL

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoAttempt to reset event channel ABI to 2-Layer
Owen Smith [Wed, 25 Feb 2015 15:05:11 +0000 (15:05 +0000)]
Attempt to reset event channel ABI to 2-Layer

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoFix HvmGetParameter/HvmSetParameter
Owen Smith [Wed, 25 Feb 2015 15:05:10 +0000 (15:05 +0000)]
Fix HvmGetParameter/HvmSetParameter

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMake sure we only use the first 32 (-8) grant entries for crash kernel
Paul Durrant [Tue, 24 Feb 2015 11:50:38 +0000 (11:50 +0000)]
Make sure we only use the first 32 (-8) grant entries for crash kernel

XENBUS only uses grant entries 32 onwards so that the first 32 (minus the 8
reserved entries) are clean for the crash kernel. This patch makes sure that
the crash kernel does not go over that limit.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoInsertion into head of austere heap misses setting reverse link
Paul Durrant [Fri, 30 Jan 2015 13:44:42 +0000 (13:44 +0000)]
Insertion into head of austere heap misses setting reverse link

The heap is maintained as a doubly linked list of objects but both
__AllocSmall() and __FreeSmall() are missing setup of the reverse link when
a new object is inserted at the head. This patch adds the necessary fix.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Reported-by: Gregory Jacklin <jackling@amazon.com>
10 years agoUpdate to EVTCHN version 3
Paul Durrant [Fri, 30 Jan 2015 13:21:56 +0000 (13:21 +0000)]
Update to EVTCHN version 3

Take the opportunity to refresh all imported headers though as there's a
small doxygen tweak in each of them too.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoProtect BackendPath from race using StateLock
Ben Chalmers [Tue, 20 Jan 2015 14:27:19 +0000 (14:27 +0000)]
Protect BackendPath from race using StateLock

The BackendPath can change as part of PDO state transitions, leading
to a race with the frontend thread.  Since the frontend state lock is
locked through state transitions, taking the lock is sufficient to
avoid the race

Signed-off-by: Ben Chalmers <Ben.Chalmers@citrix.com>
10 years agoIgnore invalid devices
Owen Smith [Tue, 20 Jan 2015 13:54:01 +0000 (13:54 +0000)]
Ignore invalid devices

When a floppy drive is attached, the device id string cannot be parsed
into a valid xvd, sd? or hd? format. Report the error instead of asserting
and return the invalid value to ignore the device in question.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMove interface subscription code into co-installer
Paul Durrant [Tue, 13 Jan 2015 17:53:28 +0000 (17:53 +0000)]
Move interface subscription code into co-installer

Interface subscription is better handled at package installation time and
therefore the co-installer is the right place for it to live.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoHandle storage query ioctls properly
Paul Durrant [Thu, 8 Jan 2015 13:44:15 +0000 (13:44 +0000)]
Handle storage query ioctls properly

Both the ioctls we care about are METHOD_BUFFERED so ASSERT that and then
use the associated IRP SystemBuffer, remembering to verify input and output
sizes.
Also we should only return (or expect returned) data in the case of a full
query, as opposed to an existence query.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoMake sure INF gets re-built each time
Paul Durrant [Fri, 19 Dec 2014 15:43:40 +0000 (15:43 +0000)]
Make sure INF gets re-built each time

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoMake sure version header gets re-built each time
Paul Durrant [Fri, 19 Dec 2014 13:14:32 +0000 (13:14 +0000)]
Make sure version header gets re-built each time

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoAdd XenDisk device upper filter.
Owen Smith [Tue, 28 Oct 2014 11:27:24 +0000 (11:27 +0000)]
Add XenDisk device upper filter.

XenDisk intercepts and translates IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES
into SCSIOP_UNMAP SRBs. Storport will pass on these SCSIOP_UNMAP requests
to XenVbd, which will create the appropriate BLKIF_OP_DISCARD requests.
XenDisk is only neccessary because Storport does not do the translation
to SCSIOP_UNMAPs.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Acked-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoRun XenVbd SDV after XenCrsh SDV
Owen Smith [Tue, 28 Oct 2014 11:27:23 +0000 (11:27 +0000)]
Run XenVbd SDV after XenCrsh SDV

XenVbd's SDV build requires output from XenCrsh's SDV build.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Acked-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoPrepare SCSIOP_UNMAP correctly
Owen Smith [Tue, 28 Oct 2014 11:27:22 +0000 (11:27 +0000)]
Prepare SCSIOP_UNMAP correctly

SCSIOP_UNMAP requests contain a list of extents to discard
and each BLKIF_OP_DISCARD only handles a single extent.
Break a SRB doen into multiple ring requests as necessary.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Acked-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoReduce spam from build.py
Paul Durrant [Thu, 25 Sep 2014 15:17:01 +0000 (16:17 +0100)]
Reduce spam from build.py

We don't the verbose prints when deciding whether we're using vs2012 or 2013.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoDon't use universal_newlines=True in subprocess.Popen()
Paul Durrant [Thu, 25 Sep 2014 14:06:31 +0000 (15:06 +0100)]
Don't use universal_newlines=True in subprocess.Popen()

For some versions of python this appears to cause corruption of the
output byte string by forcibly decoding with the wrong encoding.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoRe-read features after Connect
Owen Smith [Thu, 4 Sep 2014 08:28:05 +0000 (09:28 +0100)]
Re-read features after Connect

blkback incorrectly writes features before setting Connected instead
of before setting InitWait. Re-read these values after backend goes
Connected, to get the current value.
Note: Some values *must* be written before setting Connected, as
blkback can only discover these values by connecting to the underlying
storage.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoFix BLKIF_OP_INDIRECT protocol requests
Owen Smith [Thu, 4 Sep 2014 08:19:40 +0000 (09:19 +0100)]
Fix BLKIF_OP_INDIRECT protocol requests

Fixes an issue with indirect requests that arose due to changes in
XenBus's (7.x) grant table interface (v3 to v4). Refactored for the
8.0 version of XenBus.

Rework internal request structures to contain a list of segments.
Number of segments determines the difference between direct and
indirect operations.
blkback is limited to 256 segments per indirect request, XenVbd
reports support for 175 physical breaks (i.e. segments).

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoAdd support for Visual Studio 2013 & WDK 8.1
Ben Chalmers [Fri, 22 Aug 2014 15:05:27 +0000 (16:05 +0100)]
Add support for Visual Studio 2013 & WDK 8.1

Signed-off-by: Ben Chalmers <ben.chalmers@citrix.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoActually put 8.0.0 in the CHANGELOG rather than just saying I did
Paul Durrant [Fri, 15 Aug 2014 08:43:50 +0000 (09:43 +0100)]
Actually put 8.0.0 in the CHANGELOG rather than just saying I did

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoUpdate branding
Paul Durrant [Thu, 14 Aug 2014 16:46:39 +0000 (17:46 +0100)]
Update branding

Remove the use of the 'XenServer' product name except where it is
still appropriate.
Remove use of 'Citrix' from all places except source file
copyrights.
Allow company and product name to be set at build time.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoImplement new API version scheme
Paul Durrant [Wed, 23 Jul 2014 08:40:54 +0000 (09:40 +0100)]
Implement new API version scheme

This patch changes the way APIs work in an incompatible way. (See README.md
for details).
The patch also includes a *lot* of code tidying and movement and as such
is not really suitable for review as a patch; the resulting code should
itself be reviewed.
Given the scale of the change, the major version number has been revised to
8 and other version numbers reset to zero.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoMerge pull request #34 from OwenSmith/fix-reset
Ben Chalmers [Fri, 20 Jun 2014 08:59:35 +0000 (09:59 +0100)]
Merge pull request #34 from OwenSmith/fix-reset

Fix reset

Approved-By: Ben.Chalmers@citrix.com
10 years agoAdd extra state to frontend transition to allow reset to cleanup
Owen Smith [Thu, 19 Jun 2014 14:35:34 +0000 (15:35 +0100)]
Add extra state to frontend transition to allow reset to cleanup
requests after CLOSED transition but before disconnecting granter

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoCleanup PreparedReqs before closing the ring
Owen Smith [Wed, 18 Jun 2014 13:38:37 +0000 (14:38 +0100)]
Cleanup PreparedReqs before closing the ring

To unprepare reqs, the granter is required, which can only operate
when the frontend is connected.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoForce calling BlockRingPoll as DPC may not run.
Owen Smith [Wed, 18 Jun 2014 13:21:39 +0000 (14:21 +0100)]
Force calling BlockRingPoll as DPC may not run.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #33 from OwenSmith/coinstaller-disk-timeout
Paul Durrant [Wed, 18 Jun 2014 08:29:12 +0000 (09:29 +0100)]
Merge pull request #33 from OwenSmith/coinstaller-disk-timeout

Coinstaller disk timeout

10 years agoFix service key name
Owen Smith [Tue, 17 Jun 2014 15:29:17 +0000 (16:29 +0100)]
Fix service key name

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoIncrease disk timeout during co-installer to a minimum of 120 seconds
Owen Smith [Tue, 17 Jun 2014 14:19:45 +0000 (15:19 +0100)]
Increase disk timeout during co-installer to a minimum of 120 seconds
to match timeout in backend(s)

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #32 from OwenSmith/pdoreset
Paul Durrant [Thu, 12 Jun 2014 11:33:09 +0000 (12:33 +0100)]
Merge pull request #32 from OwenSmith/pdoreset

Prevent an assertion by triggering the DPC to poll frontend during pause...

10 years agoPrevent an assertion by triggering the DPC to poll frontend during pause.
Owen Smith [Thu, 12 Jun 2014 11:26:06 +0000 (12:26 +0100)]
Prevent an assertion by triggering the DPC to poll frontend during pause.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #31 from OwenSmith/increase-timeout
Paul Durrant [Tue, 10 Jun 2014 14:15:13 +0000 (15:15 +0100)]
Merge pull request #31 from OwenSmith/increase-timeout

Increase PdoReset timeout and logging.

10 years agoIncrease PdoReset timeout and logging.
Owen Smith [Tue, 10 Jun 2014 13:59:45 +0000 (14:59 +0100)]
Increase PdoReset timeout and logging.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #29 from OwenSmith/fix-reset
Paul Durrant [Thu, 5 Jun 2014 14:26:16 +0000 (15:26 +0100)]
Merge pull request #29 from OwenSmith/fix-reset

Check for right flag in granter

10 years agoCheck for right flag in granter
Owen Smith [Thu, 5 Jun 2014 14:21:23 +0000 (15:21 +0100)]
Check for right flag in granter

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #28 from OwenSmith/fix-reset
Paul Durrant [Wed, 4 Jun 2014 14:07:47 +0000 (15:07 +0100)]
Merge pull request #28 from OwenSmith/fix-reset

Fix PdoReset by attempting to poll ring for up to 5 minutes before bugch...

10 years agoFix PdoReset by attempting to poll ring for up to 5 minutes before bugchecking
Owen Smith [Wed, 4 Jun 2014 11:55:17 +0000 (12:55 +0100)]
Fix PdoReset by attempting to poll ring for up to 5 minutes before bugchecking

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #27 from OwenSmith/master
Paul Durrant [Mon, 2 Jun 2014 14:27:54 +0000 (15:27 +0100)]
Merge pull request #27 from OwenSmith/master

SDV is picky about %d/%u printf format specifiers

10 years agoSDV is picky about %d/%u printf format specifiers
Owen Smith [Mon, 2 Jun 2014 14:21:32 +0000 (15:21 +0100)]
SDV is picky about %d/%u printf format specifiers

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #26 from pauldu/gnttab
Owen Smith [Mon, 2 Jun 2014 13:11:25 +0000 (14:11 +0100)]
Merge pull request #26 from pauldu/gnttab

Use new GNTTAB interface

10 years agoUse new GNTTAB interface
Paul Durrant [Fri, 30 May 2014 09:39:09 +0000 (10:39 +0100)]
Use new GNTTAB interface

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
10 years agoMerge pull request #25 from OwenSmith/reduce-peak-grants
Paul Durrant [Wed, 21 May 2014 12:39:08 +0000 (13:39 +0100)]
Merge pull request #25 from OwenSmith/reduce-peak-grants

Reduce peak grants

10 years agoFix checked-only bugcheck (0xD1 due to IsOnList in buffer.c)
Owen Smith [Tue, 20 May 2014 13:04:27 +0000 (14:04 +0100)]
Fix checked-only bugcheck (0xD1 due to IsOnList in buffer.c)

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoSubmit all prepared requests then attempt to prepare the next SRB
Owen Smith [Tue, 20 May 2014 09:41:24 +0000 (10:41 +0100)]
Submit all prepared requests then attempt to prepare the next SRB

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoFold BlockRingPush into BlockRingSubmit
Owen Smith [Tue, 20 May 2014 09:06:16 +0000 (10:06 +0100)]
Fold BlockRingPush into BlockRingSubmit

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMove Lookaside functions to same part of pdo.c
Owen Smith [Tue, 20 May 2014 08:59:57 +0000 (09:59 +0100)]
Move Lookaside functions to same part of pdo.c

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoAlways bounce SRBs via FreshSrbs queue
Owen Smith [Tue, 20 May 2014 08:57:17 +0000 (09:57 +0100)]
Always bounce SRBs via FreshSrbs queue

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoRefactor: internalize request preparation functions into a single call
Owen Smith [Tue, 20 May 2014 08:53:58 +0000 (09:53 +0100)]
Refactor: internalize request preparation functions into a single call

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoTrack current/maximum grant usage
Owen Smith [Tue, 20 May 2014 08:45:07 +0000 (09:45 +0100)]
Track current/maximum grant usage

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #24 from OwenSmith/sdv
Paul Durrant [Mon, 19 May 2014 13:29:53 +0000 (14:29 +0100)]
Merge pull request #24 from OwenSmith/sdv

Fix SDV on xencrsh

10 years agoFix SDV on xencrsh
Owen Smith [Mon, 19 May 2014 12:51:10 +0000 (13:51 +0100)]
Fix SDV on xencrsh

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #23 from OwenSmith/sdv
Paul Durrant [Mon, 19 May 2014 11:28:23 +0000 (12:28 +0100)]
Merge pull request #23 from OwenSmith/sdv

Fix build by removing (redefinition) of MmGetPhysicalAddress

10 years agoFix build by removing (redefinition) of MmGetPhysicalAddress
Owen Smith [Mon, 19 May 2014 11:21:48 +0000 (12:21 +0100)]
Fix build by removing (redefinition) of MmGetPhysicalAddress

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoMerge pull request #22 from OwenSmith/sdv
Paul Durrant [Mon, 19 May 2014 10:20:50 +0000 (11:20 +0100)]
Merge pull request #22 from OwenSmith/sdv

Add Sdv to build.py

10 years agoFix SDV errors, completes SDV and DVL log run
Owen Smith [Mon, 19 May 2014 09:32:16 +0000 (10:32 +0100)]
Fix SDV errors, completes SDV and DVL log run
Notes: Date format must be US (MM/DD/YY) for WHQL tests

Signed-off-by: Owen Smith <owen.smith@citrix.com>
10 years agoAdd sdv build to build.py, include nosdv option to not run sdv
Owen Smith [Mon, 19 May 2014 08:35:46 +0000 (09:35 +0100)]
Add sdv build to build.py, include nosdv option to not run sdv

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoMerge pull request #21 from OwenSmith/master
Paul Durrant [Thu, 8 May 2014 13:09:10 +0000 (14:09 +0100)]
Merge pull request #21 from OwenSmith/master

Log BLKIF_OP_* values when backend fails request

11 years agoLog BLKIF_OP_* values when backend fails request
Owen Smith [Thu, 8 May 2014 13:00:21 +0000 (14:00 +0100)]
Log BLKIF_OP_* values when backend fails request
Dont attempt to interpret as SCSIOP_* values

Signed-off-by: Owen Smith <owen.smith@citrix.com>