I'm attempting to use cgofuse to mount a remote filesystem and copy a file from my local Downloads directory to the root of the mounted filesystem at X:\.
The remote filesystem allows users to configure automations after files are added. We have a user that reported an issue where a single file getting copied to the remote causes multiple instances of an automation to be triggered.
I was able to replicate the behavior using the Memfs implementation provided in the cgofuse examples. I created a minimal repro in a gist. https://gist.github.com/adamvduke/0023f09b6f4f3a244ac3860262726f6d
The Memfs code is instrumented to log every operation, and the logs for copying via drag/drop, cp via Powershell, and copy are included below.
During the drag and drop operation, a dialog appears indicating that the file has properties that can't be copied to the new location.
After confirming that it is ok to copy without the properties, the transfer continues.
When copied via drag and drop, the behavior is something like the following:
- call Mknode
- call Open
- call Chflags
- call Setxattr
- call Getattr
- call Chmod
- call Truncate
- call Open
- call Release
- call Open
- call Release
- call Unlink
Then the process repeats with Mknod, Open, Chflags, Setxattr, Getattr, Chmod, Truncate, but after the second call to Truncate the data is written and the copy succeeds.
If I copy the file using cp in Powershell or using copy in cmd, the file is copied successfully without any issues, and there is no dialog about properties that can't be copied.
I'm wondering if anyone has seen this behavior before, if it is working as intended, and/or has a workaround. As far as I can tell from reading the code, the Memfs implementation supports extended attributes, so I don't think that's the issue.
Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via drag/drop
2025/07/08 12:13:34.570952 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.571482 main.go:120: func: main.(*Memfs).Mknod, path: /ChromeSetup.exe, mode: 33216, dev: 0
2025/07/08 12:13:34.572041 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 1282
2025/07/08 12:13:34.572041 main.go:445: func: main.(*Memfs).Chflags, path: /ChromeSetup.exe, flags: 2048
2025/07/08 12:13:34.572599 main.go:368: func: main.(*Memfs).Setxattr, path: /ChromeSetup.exe, name: $KERNEL.PURGE.ESBCACHE, value: [165 0 0 0 3 0 2 2 85 75 143 115 49 230 219 1 0 80 55 66 10 124 219 1 2 128 0 0 135 0 39 1 12 128 0 0 32 196 183 41 216 235 94 231 135 127 210 91 234 1 255 166 32 57 253 129 43 111 82 175 96 16 207 165 151 20 178 203 82 39 0 12 128 0 0 32 29 180 183 204 13 127 24 249 251 213 191 136 191 4 79 55 162 20 238 176 92 240 166 100 91 51 221 12 77 137 89 33 14 6 112 20 63 18 34 230 219 1 255 255 255 255 4 7 6 0 39 4 12 128 0 0 32 88 88 105 179 28 35 26 26 187 180 78 19 129 141 173 51 49 131 16 75 241 52 116 171 82 115 99 203 40 51 98 206], flags: 0
2025/07/08 12:13:34.572599 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:13:34.573139 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:13:34.573139 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:13:34.573712 main.go:215: func: main.(*Memfs).Chmod, path: /ChromeSetup.exe, mode: 448
2025/07/08 12:13:34.573712 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:13:34.574276 main.go:279: func: main.(*Memfs).Truncate, path: /ChromeSetup.exe, size: 11332480, fh: 2
2025/07/08 12:13:34.581625 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.584799 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.584799 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:34.585348 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.585348 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.585348 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:34.585348 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:13:34.585348 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.585348 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.585348 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:34.585348 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:13:34.586126 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.586126 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:13:34.586126 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.586126 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:34.586126 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:13:34.586126 main.go:132: func: main.(*Memfs).Unlink, path: /ChromeSetup.exe
2025/07/08 12:13:34.586126 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:13:34.588322 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:34.588322 main.go:120: func: main.(*Memfs).Mknod, path: /ChromeSetup.exe, mode: 33216, dev: 0
2025/07/08 12:13:34.588322 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 1282
2025/07/08 12:13:34.588322 main.go:445: func: main.(*Memfs).Chflags, path: /ChromeSetup.exe, flags: 2048
2025/07/08 12:13:34.588322 main.go:368: func: main.(*Memfs).Setxattr, path: /ChromeSetup.exe, name: $KERNEL.PURGE.ESBCACHE, value: [165 0 0 0 3 0 2 2 85 75 143 115 49 230 219 1 0 80 55 66 10 124 219 1 2 128 0 0 135 0 39 1 12 128 0 0 32 196 183 41 216 235 94 231 135 127 210 91 234 1 255 166 32 57 253 129 43 111 82 175 96 16 207 165 151 20 178 203 82 39 0 12 128 0 0 32 29 180 183 204 13 127 24 249 251 213 191 136 191 4 79 55 162 20 238 176 92 240 166 100 91 51 221 12 77 137 89 33 14 6 112 20 63 18 34 230 219 1 255 255 255 255 4 7 6 0 39 4 12 128 0 0 32 88 88 105 179 28 35 26 26 187 180 78 19 129 141 173 51 49 131 16 75 241 52 116 171 82 115 99 203 40 51 98 206], flags: 0
2025/07/08 12:13:34.588322 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:34.588322 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:34.588886 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:34.588886 main.go:215: func: main.(*Memfs).Chmod, path: /ChromeSetup.exe, mode: 448
2025/07/08 12:13:34.588886 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:34.588886 main.go:279: func: main.(*Memfs).Truncate, path: /ChromeSetup.exe, size: 11332480, fh: 3
2025/07/08 12:13:46.289024 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.289534 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 0, fh: 3
2025/07/08 12:13:46.291759 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.291759 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 1048576, fh: 3
2025/07/08 12:13:46.292391 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.292932 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 2097152, fh: 3
2025/07/08 12:13:46.293938 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.293938 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 3145728, fh: 3
2025/07/08 12:13:46.295003 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.295003 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 4194304, fh: 3
2025/07/08 12:13:46.295622 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.296177 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 5242880, fh: 3
2025/07/08 12:13:46.296711 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.296711 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 6291456, fh: 3
2025/07/08 12:13:46.297821 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.297821 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 7340032, fh: 3
2025/07/08 12:13:46.298490 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.298490 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 8388608, fh: 3
2025/07/08 12:13:46.299592 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.299592 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 9437184, fh: 3
2025/07/08 12:13:46.300744 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.300744 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 10485760, fh: 3
2025/07/08 12:13:46.302029 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.302572 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.302572 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.303117 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.303117 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.303690 main.go:244: func: main.(*Memfs).Utimens, path: /ChromeSetup.exe, tmsp: [{1751991214 588322000} {1750883988 499754800}]
2025/07/08 12:13:46.303690 main.go:469: func: main.(*Memfs).Setchgtime, path: /ChromeSetup.exe, tmsp: {1750883994 696203200}
2025/07/08 12:13:46.303690 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 3
2025/07/08 12:13:46.304239 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304239 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304764 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.304764 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.304764 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304764 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304764 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.304764 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.304764 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304764 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.304764 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.305298 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.305298 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.306503 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.323391 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.323391 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.325800 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.325800 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.325800 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.330449 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.330449 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.330449 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.330449 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.330449 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.330449 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.365860 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429035 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.429035 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.429035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429035 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.429035 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.429035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429548 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.429548 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.429548 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.429548 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492045 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492045 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492045 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.492045 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.492045 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492045 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492045 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.492564 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.492564 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492564 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:13:46.492564 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:13:46.492564 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 3
2025/07/08 12:13:46.492564 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via powershell cp .\Downloads\ChromeSetup.exe X:\
2025/07/08 12:19:33.521464 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.522010 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.522010 main.go:120: func: main.(*Memfs).Mknod, path: /ChromeSetup.exe, mode: 33216, dev: 0
2025/07/08 12:19:33.522010 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 1282
2025/07/08 12:19:33.522010 main.go:445: func: main.(*Memfs).Chflags, path: /ChromeSetup.exe, flags: 2048
2025/07/08 12:19:33.522632 main.go:368: func: main.(*Memfs).Setxattr, path: /ChromeSetup.exe, name: $KERNEL.PURGE.ESBCACHE, value: [165 0 0 0 3 0 2 2 85 75 143 115 49 230 219 1 0 80 55 66 10 124 219 1 2 128 0 0 135 0 39 1 12 128 0 0 32 196 183 41 216 235 94 231 135 127 210 91 234 1 255 166 32 57 253 129 43 111 82 175 96 16 207 165 151 20 178 203 82 39 0 12 128 0 0 32 29 180 183 204 13 127 24 249 251 213 191 136 191 4 79 55 162 20 238 176 92 240 166 100 91 51 221 12 77 137 89 33 14 6 112 20 63 18 34 230 219 1 255 255 255 255 4 7 6 0 39 4 12 128 0 0 32 88 88 105 179 28 35 26 26 187 180 78 19 129 141 173 51 49 131 16 75 241 52 116 171 82 115 99 203 40 51 98 206], flags: 0
2025/07/08 12:19:33.522632 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.523718 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.524266 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.524266 main.go:215: func: main.(*Memfs).Chmod, path: /ChromeSetup.exe, mode: 448
2025/07/08 12:19:33.524266 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.524266 main.go:279: func: main.(*Memfs).Truncate, path: /ChromeSetup.exe, size: 11332480, fh: 2
2025/07/08 12:19:33.525414 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.525414 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 0, fh: 2
2025/07/08 12:19:33.526151 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.526691 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 1048576, fh: 2
2025/07/08 12:19:33.527238 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.527238 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 2097152, fh: 2
2025/07/08 12:19:33.528312 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.528312 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 3145728, fh: 2
2025/07/08 12:19:33.528857 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.528857 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 4194304, fh: 2
2025/07/08 12:19:33.529990 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.529990 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 5242880, fh: 2
2025/07/08 12:19:33.530583 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.530583 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 6291456, fh: 2
2025/07/08 12:19:33.531104 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.531646 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 7340032, fh: 2
2025/07/08 12:19:33.532277 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.532277 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 8388608, fh: 2
2025/07/08 12:19:33.532801 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.532801 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 9437184, fh: 2
2025/07/08 12:19:33.533364 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.533892 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 10485760, fh: 2
2025/07/08 12:19:33.534538 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.534538 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.535094 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.535094 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:19:33.535094 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.535616 main.go:244: func: main.(*Memfs).Utimens, path: /ChromeSetup.exe, tmsp: [{1751991573 522010400} {1750883988 499754800}]
2025/07/08 12:19:33.535616 main.go:469: func: main.(*Memfs).Setchgtime, path: /ChromeSetup.exe, tmsp: {1750883994 696203200}
2025/07/08 12:19:33.535616 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:19:33.536798 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via cmd copy .\Downloads\ChromeSetup.exe X:\
2025/07/08 12:21:52.266523 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.267037 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.268853 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.269387 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.272637 main.go:120: func: main.(*Memfs).Mknod, path: /ChromeSetup.exe, mode: 33216, dev: 0
2025/07/08 12:21:52.273183 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 1282
2025/07/08 12:21:52.273702 main.go:445: func: main.(*Memfs).Chflags, path: /ChromeSetup.exe, flags: 2048
2025/07/08 12:21:52.273702 main.go:368: func: main.(*Memfs).Setxattr, path: /ChromeSetup.exe, name: $KERNEL.PURGE.ESBCACHE, value: [165 0 0 0 3 0 2 2 85 75 143 115 49 230 219 1 0 80 55 66 10 124 219 1 2 128 0 0 135 0 39 1 12 128 0 0 32 196 183 41 216 235 94 231 135 127 210 91 234 1 255 166 32 57 253 129 43 111 82 175 96 16 207 165 151 20 178 203 82 39 0 12 128 0 0 32 29 180 183 204 13 127 24 249 251 213 191 136 191 4 79 55 162 20 238 176 92 240 166 100 91 51 221 12 77 137 89 33 14 6 112 20 63 18 34 230 219 1 255 255 255 255 4 7 6 0 39 4 12 128 0 0 32 88 88 105 179 28 35 26 26 187 180 78 19 129 141 173 51 49 131 16 75 241 52 116 171 82 115 99 203 40 51 98 206], flags: 0
2025/07/08 12:21:52.273702 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.277902 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.278568 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.279140 main.go:215: func: main.(*Memfs).Chmod, path: /ChromeSetup.exe, mode: 448
2025/07/08 12:21:52.279140 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.279140 main.go:279: func: main.(*Memfs).Truncate, path: /ChromeSetup.exe, size: 11332480, fh: 2
2025/07/08 12:21:52.281022 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.281533 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 0, fh: 2
2025/07/08 12:21:52.283581 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.283581 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 1048576, fh: 2
2025/07/08 12:21:52.284710 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.284710 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 2097152, fh: 2
2025/07/08 12:21:52.285805 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.285805 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 3145728, fh: 2
2025/07/08 12:21:52.286894 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.286894 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 4194304, fh: 2
2025/07/08 12:21:52.288004 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.288004 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 5242880, fh: 2
2025/07/08 12:21:52.288603 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.289132 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 6291456, fh: 2
2025/07/08 12:21:52.289827 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.289827 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 7340032, fh: 2
2025/07/08 12:21:52.290937 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.290937 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 8388608, fh: 2
2025/07/08 12:21:52.292192 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.292192 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 9437184, fh: 2
2025/07/08 12:21:52.292821 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.292821 main.go:314: func: main.(*Memfs).Write, path: /ChromeSetup.exe, ofst: 10485760, fh: 2
2025/07/08 12:21:52.294035 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.294586 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.294586 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.295155 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.295155 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.295155 main.go:244: func: main.(*Memfs).Utimens, path: /ChromeSetup.exe, tmsp: [{1751991712 273183800} {1750883988 499754800}]
2025/07/08 12:21:52.295725 main.go:469: func: main.(*Memfs).Setchgtime, path: /ChromeSetup.exe, tmsp: {1750883994 696203200}
2025/07/08 12:21:52.295725 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.296869 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:21:52.296869 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.296869 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.296869 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:21:52.296869 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
2025/07/08 12:21:52.296869 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.297403 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:21:52.297403 main.go:262: func: main.(*Memfs).Open, path: /ChromeSetup.exe, flags: 0
2025/07/08 12:21:52.297403 main.go:445: func: main.(*Memfs).Chflags, path: /ChromeSetup.exe, flags: 2048
2025/07/08 12:21:52.297403 main.go:268: func: main.(*Memfs).Getattr, path: /ChromeSetup.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:21:52.297403 main.go:333: func: main.(*Memfs).Release, path: /ChromeSetup.exe, fh: 2
Copying ChromeSetup.exe from C:\Users\adam\Downloads\helper.exe to X:\helper.exe via drag/drop
2025/07/08 12:23:22.439113 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.439668 main.go:120: func: main.(*Memfs).Mknod, path: /helper.exe, mode: 33216, dev: 0
2025/07/08 12:23:22.439668 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 1282
2025/07/08 12:23:22.439668 main.go:445: func: main.(*Memfs).Chflags, path: /helper.exe, flags: 2048
2025/07/08 12:23:22.439668 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.439668 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.440188 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.440188 main.go:215: func: main.(*Memfs).Chmod, path: /helper.exe, mode: 448
2025/07/08 12:23:22.440188 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.440188 main.go:279: func: main.(*Memfs).Truncate, path: /helper.exe, size: 20316672, fh: 2
2025/07/08 12:23:22.441943 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.442379 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 0, fh: 2
2025/07/08 12:23:22.442885 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.442885 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 1048576, fh: 2
2025/07/08 12:23:22.443951 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.443951 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 2097152, fh: 2
2025/07/08 12:23:22.444489 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.444489 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 3145728, fh: 2
2025/07/08 12:23:22.445023 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.445558 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 4194304, fh: 2
2025/07/08 12:23:22.446101 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.446101 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 5242880, fh: 2
2025/07/08 12:23:22.447198 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.447198 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 6291456, fh: 2
2025/07/08 12:23:22.447725 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.447725 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 7340032, fh: 2
2025/07/08 12:23:22.448827 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.448827 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 8388608, fh: 2
2025/07/08 12:23:22.450069 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.450069 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 9437184, fh: 2
2025/07/08 12:23:22.450689 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.450689 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 10485760, fh: 2
2025/07/08 12:23:22.451247 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.451247 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 11534336, fh: 2
2025/07/08 12:23:22.451818 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.451818 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 12582912, fh: 2
2025/07/08 12:23:22.452912 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.452912 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 13631488, fh: 2
2025/07/08 12:23:22.453419 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.453419 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 14680064, fh: 2
2025/07/08 12:23:22.454498 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.454498 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 15728640, fh: 2
2025/07/08 12:23:22.455057 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.455057 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 16777216, fh: 2
2025/07/08 12:23:22.456162 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.456162 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 17825792, fh: 2
2025/07/08 12:23:22.456677 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.456677 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 18874368, fh: 2
2025/07/08 12:23:22.457243 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.457243 main.go:314: func: main.(*Memfs).Write, path: /helper.exe, ofst: 19922944, fh: 2
2025/07/08 12:23:22.457779 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.458308 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.458308 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.458308 main.go:244: func: main.(*Memfs).Utimens, path: /helper.exe, tmsp: [{1751991802 439668800} {1750965643 0}]
2025/07/08 12:23:22.458308 main.go:469: func: main.(*Memfs).Setchgtime, path: /helper.exe, tmsp: {1750966106 632705700}
2025/07/08 12:23:22.458308 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.459907 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.459907 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.459907 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.459907 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.459907 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.459907 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.459907 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.460453 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.460453 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.460453 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.460453 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.460453 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.460453 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.462159 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.474388 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.474895 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.474895 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.474895 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.477452 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.481112 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.481618 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.481618 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.481618 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.481618 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.482288 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.526161 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.586401 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.588104 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.588104 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.589258 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 0, fh: 2
2025/07/08 12:23:22.589258 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 20254720, fh: 2
2025/07/08 12:23:22.590861 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.590861 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.590861 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.590861 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.590861 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.590861 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.590861 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.591390 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.591390 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.591390 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.591390 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.591390 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.591390 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.594981 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 18956288, fh: 2
... lots of reads omitted
2025/07/08 12:23:22.642804 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 13266944, fh: 2
2025/07/08 12:23:22.650301 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 2
2025/07/08 12:23:22.651436 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651436 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651436 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.651958 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651958 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.651958 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651958 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.651958 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.651958 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651958 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.651958 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.651958 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.651958 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.652516 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.652516 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.652516 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.652516 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe.Manifest, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.652516 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.652516 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.652516 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653061 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.653061 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653061 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653061 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.653061 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.653061 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653061 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653061 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.653061 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.653609 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.653609 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.653609 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653609 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.653609 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.654153 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654153 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.654153 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654153 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.654153 main.go:333: func: main.(*Memfs).Release, path: /helper.exe, fh: 2
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654153 main.go:268: func: main.(*Memfs).Getattr, path: /helper.exe, stat: &{0 0 0 0 0 0 0 0 {0 0} {0 0} {0 0} 0 0 {0 0} 0}, fh: 18446744073709551615
2025/07/08 12:23:22.654694 main.go:262: func: main.(*Memfs).Open, path: /helper.exe, flags: 0
2025/07/08 12:23:22.654694 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 0, fh: 2
... lots of reads omitted
2025/07/08 12:23:22.688698 main.go:295: func: main.(*Memfs).Read, path: /helper.exe, ofst: 13266944, fh: 2
I'm attempting to use cgofuse to mount a remote filesystem and copy a file from my local Downloads directory to the root of the mounted filesystem at
X:\.The remote filesystem allows users to configure automations after files are added. We have a user that reported an issue where a single file getting copied to the remote causes multiple instances of an automation to be triggered.
I was able to replicate the behavior using the Memfs implementation provided in the cgofuse examples. I created a minimal repro in a gist. https://gist.github.com/adamvduke/0023f09b6f4f3a244ac3860262726f6d
The Memfs code is instrumented to log every operation, and the logs for copying via drag/drop,
cpvia Powershell, andcopyare included below.During the drag and drop operation, a dialog appears indicating that the file has properties that can't be copied to the new location.
After confirming that it is ok to copy without the properties, the transfer continues.
When copied via drag and drop, the behavior is something like the following:
Then the process repeats with Mknod, Open, Chflags, Setxattr, Getattr, Chmod, Truncate, but after the second call to Truncate the data is written and the copy succeeds.
If I copy the file using
cpin Powershell or usingcopyin cmd, the file is copied successfully without any issues, and there is no dialog about properties that can't be copied.I'm wondering if anyone has seen this behavior before, if it is working as intended, and/or has a workaround. As far as I can tell from reading the code, the Memfs implementation supports extended attributes, so I don't think that's the issue.
Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via drag/drop
Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via powershell
cp .\Downloads\ChromeSetup.exe X:\Copying ChromeSetup.exe from C:\Users\adam\Downloads\ChromeSetup.exe to X:\ChromeSetup.exe via cmd
copy .\Downloads\ChromeSetup.exe X:\Copying ChromeSetup.exe from C:\Users\adam\Downloads\helper.exe to X:\helper.exe via drag/drop