]> xenbits.xensource.com Git - pvdrivers/win/xenvbd.git/log
pvdrivers/win/xenvbd.git
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>
11 years agoMerge pull request #20 from OwenSmith/master
Paul Durrant [Thu, 1 May 2014 12:00:23 +0000 (13:00 +0100)]
Merge pull request #20 from OwenSmith/master

[CA-134598] Store the (partial) tag along with the XENVBD_REQUEST.

11 years ago[CA-134598] Store the (partial) tag along with the XENVBD_REQUEST.
Owen Smith [Thu, 1 May 2014 11:32:10 +0000 (12:32 +0100)]
[CA-134598] Store the (partial) tag along with the XENVBD_REQUEST.
Migrate and a bus/target reset will re-queue any existing requests, but not
reset the request tagging correctly, and will eventually run out of free tags.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoMerge pull request #19 from pauldu/waitblock
Owen Smith [Tue, 22 Apr 2014 09:35:37 +0000 (10:35 +0100)]
Merge pull request #19 from pauldu/waitblock

Fix BSOD caused by KeWaitForMultipleObjects()

11 years agoFix BSOD caused by KeWaitForMultipleObjects()
Paul Durrant [Tue, 22 Apr 2014 09:24:39 +0000 (10:24 +0100)]
Fix BSOD caused by KeWaitForMultipleObjects()

KeWaitForMultipleObjects() should use a wait block array if the
number of objects exceeds THREAD_WAIT_OBJECTS. The number of objects
PdoDestroy() waits on is 4 which exceeds the currently defined value
of that constant (which is 3).

Signed-off-by: Murtaza Ghiya <murtazg@amazon.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
11 years agoMerge pull request #18 from OwenSmith/sctx-1718
Paul Durrant [Tue, 15 Apr 2014 14:35:19 +0000 (15:35 +0100)]
Merge pull request #18 from OwenSmith/sctx-1718

Prevent certain GPO  settings triggering BSOD 0x7B on first reboot

11 years agoDont attempt to read values before setting to 0
Owen Smith [Tue, 15 Apr 2014 14:17:30 +0000 (15:17 +0100)]
Dont attempt to read values before setting to 0
Always attempt to set DisableCDDB and DontStartRawDevices to 0

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years ago[SCTX-1718] Set DisableCDDB and DontStartRawDevices to 0 before rebooting,
Owen Smith [Tue, 15 Apr 2014 11:05:14 +0000 (12:05 +0100)]
[SCTX-1718] Set DisableCDDB and DontStartRawDevices to 0 before rebooting,
if GPO option to disallow device installations is enabled.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoMerge pull request #16 from pauldu/gnttab
Owen Smith [Mon, 14 Apr 2014 08:37:47 +0000 (09:37 +0100)]
Merge pull request #16 from pauldu/gnttab

Fix a few build warnings

11 years agoFix a few build warnings
Paul Durrant [Mon, 14 Apr 2014 08:33:55 +0000 (09:33 +0100)]
Fix a few build warnings

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
11 years agoMerge pull request #15 from pauldu/gnttab
Owen Smith [Mon, 14 Apr 2014 08:29:39 +0000 (09:29 +0100)]
Merge pull request #15 from pauldu/gnttab

Switch to new GNTTAB interface.

11 years agoSwitch to new GNTTAB interface.
Paul Durrant [Fri, 11 Apr 2014 16:42:21 +0000 (17:42 +0100)]
Switch to new GNTTAB interface.

This patch will break indirect but no shipping backend actually uses that
yet.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
11 years agoMerge pull request #14 from OwenSmith/indirect
Paul Durrant [Tue, 1 Apr 2014 13:37:43 +0000 (14:37 +0100)]
Merge pull request #14 from OwenSmith/indirect

Rename XENVBD_CONTEXT to XENVBD_MAPPING to better describe its use

11 years agoRename XENVBD_CONTEXT to XENVBD_MAPPING to better describe its use
Owen Smith [Tue, 1 Apr 2014 12:49:28 +0000 (13:49 +0100)]
Rename XENVBD_CONTEXT to XENVBD_MAPPING to better describe its use

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

Implement Indirect Operation

11 years agoTidy up some Verbose and DEBUG output
Owen Smith [Mon, 31 Mar 2014 09:07:04 +0000 (10:07 +0100)]
Tidy up some Verbose and DEBUG output

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoPrepare, submit and cleanup BLKIF_OP_INDIRECT
Owen Smith [Fri, 14 Mar 2014 09:30:59 +0000 (09:30 +0000)]
Prepare, submit and cleanup BLKIF_OP_INDIRECT

When a read or write request would not fit into a single
BLKIF_OP_{READ/WRITE}, and the backend supports indirect
operations, prepare and submit a BLKIF_OP_INDIRECT and
handle the response.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoInsert INDIRECT operations onto ring
Owen Smith [Thu, 13 Mar 2014 13:38:04 +0000 (13:38 +0000)]
Insert INDIRECT operations onto ring

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoAdd missing Verbose parameter
Owen Smith [Thu, 13 Mar 2014 12:57:55 +0000 (12:57 +0000)]
Add missing Verbose parameter

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoAdd XENVBD_REQUEST_INDIRECT
Owen Smith [Thu, 13 Mar 2014 12:35:27 +0000 (12:35 +0000)]
Add XENVBD_REQUEST_INDIRECT

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoSplit PrepareReadWrite into seperate calls for Segments and Requests
Owen Smith [Thu, 13 Mar 2014 12:25:29 +0000 (12:25 +0000)]
Split PrepareReadWrite into seperate calls for Segments and Requests

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoSplit XENVBD_SEGMENT into segment data and bounce buffer context data
Owen Smith [Thu, 13 Mar 2014 12:11:28 +0000 (12:11 +0000)]
Split XENVBD_SEGMENT into segment data and bounce buffer context data

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoTrack Lookaside list max allocs and failed allocs better
Owen Smith [Thu, 13 Mar 2014 12:01:32 +0000 (12:01 +0000)]
Track Lookaside list max allocs and failed allocs better

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoRead additional features/parameters (at appropriate state)
Owen Smith [Thu, 13 Mar 2014 11:44:46 +0000 (11:44 +0000)]
Read additional features/parameters (at appropriate state)

"feature-max-indirect-segments", "feature-persistent", "discard-secure"
"discard-alignment" and "discard-granularity"

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoTrack BLKIF_OP_{READ/WRITE} on per request basis, not per SRB
Owen Smith [Thu, 13 Mar 2014 11:26:02 +0000 (11:26 +0000)]
Track BLKIF_OP_{READ/WRITE} on per request basis, not per SRB

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoUpdate blkif.h to include INDIRECT definitions
Owen Smith [Thu, 13 Mar 2014 11:17:59 +0000 (11:17 +0000)]
Update blkif.h to include INDIRECT definitions

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoMerge pull request #12 from OwenSmith/tags
Paul Durrant [Thu, 13 Mar 2014 10:40:19 +0000 (10:40 +0000)]
Merge pull request #12 from OwenSmith/tags

Dont pass raw pointers to backend via req.id

11 years agoZero ring slot after processing response
Owen Smith [Thu, 13 Mar 2014 09:40:25 +0000 (09:40 +0000)]
Zero ring slot after processing response

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoPass a tag to blkif_request_t.id instead of a raw pointer.
Owen Smith [Wed, 12 Mar 2014 10:09:16 +0000 (10:09 +0000)]
Pass a tag to blkif_request_t.id instead of a raw pointer.
Validate blkif_response_t.id is a correctly formatted tag before
retrieving the appropriate PXENVBD_REQUEST pointer.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoMerge pull request #10 from OwenSmith/use-request-queue
Paul Durrant [Fri, 14 Feb 2014 09:38:01 +0000 (09:38 +0000)]
Merge pull request #10 from OwenSmith/use-request-queue

Use request queue

11 years agoManage SrbStatus better.
Owen Smith [Wed, 12 Feb 2014 09:40:11 +0000 (09:40 +0000)]
Manage SrbStatus better.
Set to PENDING (once) before any actions occur, and only set to success when
completing the SRB. SrbStatus is set to a fail code if any Requests fail.
The fail code can be overwritten with a different fail code, but not with a
success code.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoWrap lookaside list access to an inline structure
Owen Smith [Mon, 10 Feb 2014 12:10:34 +0000 (12:10 +0000)]
Wrap lookaside list access to an inline structure
Allows tight coupling of event, count and lookaside list access

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoAdd handler for SCSIOP_UNMAP, translating to BLKIF_OP_DISCARD
Owen Smith [Fri, 7 Feb 2014 15:52:36 +0000 (15:52 +0000)]
Add handler for SCSIOP_UNMAP, translating to BLKIF_OP_DISCARD
Note: Storport will not generate SCSIOP_UNMAPs, a filter will be
      required to convert IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES
  into SCSIOP_UNMAPs

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoRefactor to improve code clarity
Owen Smith [Fri, 7 Feb 2014 15:45:55 +0000 (15:45 +0000)]
Refactor to improve code clarity

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoSplit XENVBD_REQUEST into unioned parts by BLKIF_OP_*
Owen Smith [Fri, 7 Feb 2014 15:12:27 +0000 (15:12 +0000)]
Split XENVBD_REQUEST into unioned parts by BLKIF_OP_*

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoTidy up REQUEST preparation code,
Owen Smith [Fri, 7 Feb 2014 11:58:16 +0000 (11:58 +0000)]
Tidy up REQUEST preparation code,
Move scatter gather access to SGList* functions
Move mapping memory to seperate function
Reduce unneccessary local variable usage

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoReduce calls to BlockRingPush and NotifierSend during PdoSubmitPrepared
Owen Smith [Fri, 7 Feb 2014 10:55:00 +0000 (10:55 +0000)]
Reduce calls to BlockRingPush and NotifierSend during PdoSubmitPrepared
Remove ListContains assertions

Signed-off-by: Owen Smith <owen.smith@citrix.com>
11 years agoNo need to lock when accessing private front ring.
Owen Smith [Fri, 31 Jan 2014 09:12:41 +0000 (09:12 +0000)]
No need to lock when accessing private front ring.
Move lock to insertion pathway only.

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