Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken VSS after installing #406

Open
SomebodyOdd opened this issue Oct 15, 2024 · 8 comments
Open

Broken VSS after installing #406

SomebodyOdd opened this issue Oct 15, 2024 · 8 comments

Comments

@SomebodyOdd
Copy link

System information

Type Version/Name
Distribution Name Windows 11
Distribution Version 23H2
Architecture x64
OpenZFS Version 2.2.6 RC7

Describe the problem you're observing

Just installing OpenZFS 2.2.6 RC7 breaks VSS, even if there are no pools present on system.
Most notably - it manifests as errors during chkdsk runs.

Describe how to reproduce the problem

  1. Install driver and reboot system.
  2. Attempt to do chkdsk /scan on NTFS volume (or any operation that tries to create a shadow copy, really)

Include any warning/errors/backtraces from the system logs

This results in errors related to shadow copy provider from chkdsk command. Application event log contains VSS event 12289 with hr = 0x80070001, Incorrect function
This error is consistent no matter what tries to create a shadow copy - I was able to reproduce it using chkdsk, built-in System Restore feature and Macrium Reflect trial version.

@sskras
Copy link

sskras commented Oct 15, 2024

Might be a dup of https://github.com/openzfsonwindows/ZFSin/issues/354.

@marcal commented 2 weeks ago there:

From different troubleshoting I did vssadmin list writers gives errors so it is not specific to veeam agent.

@SomebodyOdd, might be worth checking?

@lundman
Copy link

lundman commented Oct 15, 2024

Incorrect function sounds interesting, should probably see if FileSpy.exe picks up what requests it sends to us that we fail on.

@lundman
Copy link

lundman commented Oct 17, 2024

OK it says

1	10:41:56.375	1	System	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000100 Access: 00100180 Share:  00000007 Attrib: 0 Result: FILE_OPENED
2	10:41:56.377		System	IRP_MJ_QUERY_VOLUME_INFORMATION	00060874	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_BUFFER_OVERFLOW	FileFsVolumeInformation
3	10:41:56.401		System	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
4	10:41:56.401		System	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
5	10:41:56.463		System	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000100 Access: 00100180 Share:  00000007 Attrib: 0 Result: FILE_OPENED
6	10:41:56.463		System	IRP_MJ_QUERY_VOLUME_INFORMATION	00060874	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_BUFFER_OVERFLOW	FileFsVolumeInformation
7	10:41:56.495		System	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
8	10:41:56.495	1	System	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	

@lundman
Copy link

lundman commented Oct 17, 2024

Interesting to note that if I change mimic to say ntfs we get a different output:

7	10:48:49.874	5	svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 00120089 Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
8	10:48:49.880		svchost.exe	FASTIO_DEVICE_CONTROL		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	FAILURE	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)
9	10:48:49.880		svchost.exe	IRP_MJ_DEVICE_CONTROL	00060070	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_NOT_SUPPORTED	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)
10	10:48:49.880		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
11	10:48:49.880		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
12	10:48:49.964		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
13	10:48:49.964		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
14	10:48:49.966		svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 00120089 Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
15	10:48:49.966		svchost.exe	IRP_MJ_FILE_SYSTEM_CONTROL/IRP_MN_USER_FS_REQUEST	00060870	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_NOT_SUPPORTED	FSCTL_QUERY_DEPENDENT_VOLUME (000901F0)
16	10:48:49.966	2	svchost.exe	FASTIO_QUERY_BASIC_INFO		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FileBasicInformation CreateTime: 01DB202C-1EB4DF1D LastAccTime: 01DB2035-AEE3BBD8 LastWrtTime: 01DB2032-7B1435F8 ChangeTime: 01DB2032-7B1435F8 Attrib: 00000010
17	10:48:49.968		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
18	10:48:49.968		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
19	10:48:49.968	1	svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00800021 Access: 00100000 Share:  0 Attrib: 0 Result: FILE_OPENED
20	10:48:49.970		svchost.exe	IRP_MJ_QUERY_VOLUME_INFORMATION	00060870	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FileFsFullSizeInformation TotalClusters: 3199A CallerClusters: 31668 AvailClusters: 31668 SectorsPerClus: 1 BytesPerSect: 1000
21	10:48:49.970		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
22	10:48:49.970		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
23	10:48:49.970		svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 00120089 Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
24	10:48:49.970		svchost.exe	FASTIO_DEVICE_CONTROL		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	FAILURE	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)
25	10:48:49.970	1	svchost.exe	IRP_MJ_DEVICE_CONTROL	00060070	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_NOT_SUPPORTED	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)
26	10:48:49.972		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
27	10:48:49.972		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
28	10:48:49.972		svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 0012019F Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
29	10:48:49.972		svchost.exe	FASTIO_DEVICE_CONTROL		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	FAILURE	IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS (00560000)
30	10:48:49.972		svchost.exe	IRP_MJ_DEVICE_CONTROL	00060070	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS (00560000)
31	10:48:49.976	5	svchost.exe	FASTIO_DEVICE_CONTROL		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	FAILURE	IOCTL_DISK_GET_DRIVE_GEOMETRY (00070000)
32	10:48:49.982	6	svchost.exe	IRP_MJ_DEVICE_CONTROL	00060070	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_INVALID_DEVICE_REQUEST	IOCTL_DISK_GET_DRIVE_GEOMETRY (00070000)
33	10:48:49.990	3	svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
34	10:48:49.994	1	svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
35	10:48:55.806	4	svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 00120089 Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
36	10:48:55.810		svchost.exe	IRP_MJ_QUERY_VOLUME_INFORMATION	00060870	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FileFsAttributeInformation FileSysAttr: 19C502FF MaxNameLen: 255 FsName: NTFS
37	10:48:55.810		svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00800021 Access: 00100000 Share:  0 Attrib: 0 Result: FILE_OPENED
38	10:48:55.810		svchost.exe	IRP_MJ_QUERY_VOLUME_INFORMATION	00060870	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FileFsFullSizeInformation TotalClusters: 3199A CallerClusters: 31668 AvailClusters: 31668 SectorsPerClus: 1 BytesPerSect: 1000
39	10:48:55.810		svchost.exe	IRP_MJ_CLEANUP	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
40	10:48:55.810		svchost.exe	IRP_MJ_CLOSE	00000404	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	
41	10:48:55.810	5	svchost.exe	IRP_MJ_CREATE	00000884	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_SUCCESS	FILE_OPEN CreOpts: 00000060 Access: 00120089 Share:  00000003 Attrib: 00000080 Result: FILE_OPENED
42	10:48:55.815		svchost.exe	FASTIO_DEVICE_CONTROL		FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	FAILURE	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)
43	10:48:55.815		svchost.exe	IRP_MJ_DEVICE_CONTROL	00060070	FFFF800F81E6EB88	\Device\ZFS{0b1bb601-af0b-32e8-a1d2-54c167af6277}	STATUS_NOT_SUPPORTED	IOCTL_VOLSNAP_QUERY_DIFF_AREA_MINIMUM_SIZE (00534058)


Wonder if we need to change the default back to always say ntfs. Far too many things in Windows do shitty test against the string "ntfs".

@sskras
Copy link

sskras commented Oct 17, 2024

Wonder if we need to change the default back to always say ntfs. Far too many things in Windows do shitty test against the string "ntfs".

Fair enough! Judging by the amount of similar effort put into WinBTRFS, eg. maharmstone/btrfs#681, now I think it's very much worth to mimic NTFS until OpenZFS driver gets bullet-proof.

The workarounds (needed to turn off the mimicking and stay a distinct FS) could be added later (or by additional contributors if the project gets some ones).

@lundman
Copy link

lundman commented Oct 17, 2024

I still don't get why VSS even wants to talk with ZFS, even when I report as ZFS. I don't claim to support it, so it is frustrating it even tries.

@SomebodyOdd
Copy link
Author

SomebodyOdd commented Oct 17, 2024

Dokany seems to not break VSS (at least, when I last dealt with it, I cannot try it for now) while dealing with being a filesystem itself, maybe something can be found in source code regarding that?
https://github.com/dokan-dev/dokany

Sorry for not providing further logs and diagnostics, I'm not near my windows machine and won't be for some time.

@lundman
Copy link

lundman commented Oct 17, 2024

I assume winbtrfs also doesnt break

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants