by KEP » Mon Dec 12, 2011 2:36 pm
Lowlander wrote:I'm just verifying that the files Date Modified is updated as this is a problem for backup solutions.
Okay, made me look.

I just ran three tests, all on the same MP3 file, and watched what MM4 (b1460) did on each using Process Monitor...
Test 1: Change the Type attribute from Classical Music to Music:
Code: Select all
11:21:21.7583012 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:21:21.7583456 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:21:21.7585865 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:21:21.7614304 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:21:21.7614651 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:21:21.7615006 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:21:21.7615386 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:21:21.7615729 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:21:21.7616088 AM WriteFile SUCCESS Offset: 5,183,585, Length: 28, Priority: Normal
11:21:21.7616417 AM WriteFile SUCCESS Offset: 5,183,613, Length: 3, Priority: Normal
11:21:21.7618304 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
Test 2: Change the Track# from 1 to 0:
Code: Select all
11:22:33.5147143 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:22:33.5147579 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:22:33.5150111 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:22:33.5179257 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:22:33.5179582 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:22:33.5179898 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:22:33.5180210 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:22:33.5180523 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:22:33.5180861 AM WriteFile SUCCESS Offset: 5,183,585, Length: 30, Priority: Normal
11:22:33.5181429 AM WriteFile SUCCESS Offset: 5,183,615, Length: 1, Priority: Normal
11:22:33.5184154 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
Test 3: Change the Type back to Classical Music (from Music) and the Track# back to 1 (from 0):
Code: Select all
11:23:12.0763822 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:23:12.0764232 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:23:12.0767581 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:23:12.0795799 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:23:12.0796137 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:23:12.0796466 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:23:12.0796898 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:23:12.0797232 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:23:12.0797612 AM WriteFile SUCCESS Offset: 5,183,585, Length: 28, Priority: Normal
11:23:12.0797937 AM WriteFile SUCCESS Offset: 5,183,613, Length: 3, Priority: Normal
11:23:12.0799520 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
I don't see any differences in offsets or bytes written there. MM seems to be writing the same group of tags to the file, no matter which attributes were modified. That's a very ugly bug, from my perspective. From the developer perspective, nothing opens you up to data corruption like needless file i/o. In particular, needless writes.
[quote="Lowlander"]I'm just verifying that the files Date Modified is updated as this is a problem for backup solutions.[/quote]
Okay, made me look. :) I just ran three tests, all on the same MP3 file, and watched what MM4 (b1460) did on each using Process Monitor...
Test 1: Change the Type attribute from Classical Music to Music:
[code]11:21:21.7583012 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:21:21.7583456 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:21:21.7585865 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:21:21.7614304 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:21:21.7614651 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:21:21.7615006 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:21:21.7615386 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:21:21.7615729 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:21:21.7616088 AM WriteFile SUCCESS Offset: 5,183,585, Length: 28, Priority: Normal
11:21:21.7616417 AM WriteFile SUCCESS Offset: 5,183,613, Length: 3, Priority: Normal
11:21:21.7618304 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal[/code]
Test 2: Change the Track# from 1 to 0:
[code]11:22:33.5147143 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:22:33.5147579 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:22:33.5150111 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:22:33.5179257 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:22:33.5179582 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:22:33.5179898 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:22:33.5180210 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:22:33.5180523 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:22:33.5180861 AM WriteFile SUCCESS Offset: 5,183,585, Length: 30, Priority: Normal
11:22:33.5181429 AM WriteFile SUCCESS Offset: 5,183,615, Length: 1, Priority: Normal
11:22:33.5184154 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal[/code]
Test 3: Change the Type back to Classical Music (from Music) and the Track# back to 1 (from 0):
[code]11:23:12.0763822 AM WriteFile SUCCESS Offset: 0, Length: 512, Priority: Normal
11:23:12.0764232 AM WriteFile SUCCESS Offset: 512, Length: 417, Priority: Normal
11:23:12.0767581 AM WriteFile SUCCESS Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
11:23:12.0795799 AM WriteFile SUCCESS Offset: 5,183,488, Length: 3, Priority: Normal
11:23:12.0796137 AM WriteFile SUCCESS Offset: 5,183,491, Length: 30, Priority: Normal
11:23:12.0796466 AM WriteFile SUCCESS Offset: 5,183,521, Length: 30, Priority: Normal
11:23:12.0796898 AM WriteFile SUCCESS Offset: 5,183,551, Length: 30, Priority: Normal
11:23:12.0797232 AM WriteFile SUCCESS Offset: 5,183,581, Length: 4, Priority: Normal
11:23:12.0797612 AM WriteFile SUCCESS Offset: 5,183,585, Length: 28, Priority: Normal
11:23:12.0797937 AM WriteFile SUCCESS Offset: 5,183,613, Length: 3, Priority: Normal
11:23:12.0799520 AM WriteFile SUCCESS Offset: 5,181,440, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal[/code]
I don't see any differences in offsets or bytes written there. MM seems to be writing the same group of tags to the file, no matter which attributes were modified. That's a very ugly bug, from my perspective. From the developer perspective, nothing opens you up to data corruption like needless file i/o. In particular, needless writes.