|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC PATCH 0/6] Remove XenDisk
XenDisk currently performs 3 tasks on behalf of XenVbd: 1. Report StorageDeviceTrimProperty; 2. Intercept and implement IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES; 3. Report sector sizes via StorageAccessAlignmentProperty. The 2 previous tasks are already handled by Classpnp, although discards sent to XenVbd were effectively broken without XenDisk. The 3rd task works without XenDisk, as pre-boot injecting of physical- sector-size on Server 2025 via XenStore provides the expected outcome. This series attempts to fix XenVbd to not require XenDisk to operate: * Report the 0xB2 VPD page and the LBPU bit, used by Classpnp to detect unmap support; * Provide the appropriate unmap information reporting in VPD Block Limits whereas it was missing previously, since this information is required if LBPU is enabled; * For correctness's sake, add a check for Service Action in the Read Capacity 16 handler, as its opcode is shared with several other service actions. Before starting the fixes, add a few refactoring to use Storport declarations instead of inline VPD page codes. These patches are meant to be applied on top of the "Refactor Features and DiskInfo" patch. They have been lightly tested so far. Tu Dinh (6): Stop inlining the VPD page list in TargetInquiry00 Stop inlining VPD page codes Report max unmap LBA and block descriptor counts Report VPD 0xB2 Logical Block Provisioning Check Service Action when handling Read Capacity 16 Remove XenDisk include/xencdb.h | 8 + msbuild.ps1 | 2 +- src/xendisk/assert.h | 220 --- src/xendisk/debug.h | 95 -- src/xendisk/driver.c | 283 ---- src/xendisk/driver.h | 76 - src/xendisk/fdo.c | 1618 ---------------------- src/xendisk/fdo.h | 84 -- src/xendisk/mutex.h | 114 -- src/xendisk/pdo.c | 2000 --------------------------- src/xendisk/pdo.h | 77 -- src/xendisk/registry.c | 1564 --------------------- src/xendisk/registry.h | 211 --- src/xendisk/thread.c | 226 --- src/xendisk/thread.h | 75 - src/xendisk/types.h | 54 - src/xendisk/xendisk.rc | 57 - src/xenvbd.inf | 118 +- src/xenvbd/target.c | 142 +- vs2019/package/package.vcxproj | 3 - vs2019/xendisk/xendisk.vcxproj | 83 -- vs2019/xendisk/xendisk.vcxproj.user | 8 - vs2019/xenvbd.sln | 14 - vs2022/package/package.vcxproj | 3 - vs2022/xendisk/xendisk.vcxproj | 76 - vs2022/xendisk/xendisk.vcxproj.user | 8 - vs2022/xenvbd.sln | 10 - 27 files changed, 174 insertions(+), 7055 deletions(-) delete mode 100644 src/xendisk/assert.h delete mode 100644 src/xendisk/debug.h delete mode 100644 src/xendisk/driver.c delete mode 100644 src/xendisk/driver.h delete mode 100644 src/xendisk/fdo.c delete mode 100644 src/xendisk/fdo.h delete mode 100644 src/xendisk/mutex.h delete mode 100644 src/xendisk/pdo.c delete mode 100644 src/xendisk/pdo.h delete mode 100644 src/xendisk/registry.c delete mode 100644 src/xendisk/registry.h delete mode 100644 src/xendisk/thread.c delete mode 100644 src/xendisk/thread.h delete mode 100644 src/xendisk/types.h delete mode 100644 src/xendisk/xendisk.rc delete mode 100644 vs2019/xendisk/xendisk.vcxproj delete mode 100644 vs2019/xendisk/xendisk.vcxproj.user delete mode 100644 vs2022/xendisk/xendisk.vcxproj delete mode 100644 vs2022/xendisk/xendisk.vcxproj.user -- 2.51.2.windows.1 -- | Vates XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |