/* We use do not use 'ValidDataLength' as I assume W32
* automatically increases 'ValidDataLength' during Cache Manager write operations.
* We do not increase it and therefore it is mostly useless for us.
+ * In some cases (during NTFS mount) there may be also invalid 'ValidDataLength' at all:
+ * CcSetFileSizes(AllocationSize=0x1000000,FileSize=0xf80208,ValidDataLength=0x23b801a0)
*/
guint64 ValidDataLength; /* ==CC_FILE_SIZES.ValidDataLength.QuadPart */
/* The real allocation size of 'buffer' and 'pages'.
FileSize=FileSizes->FileSize.QuadPart;
ValidDataLength=FileSizes->ValidDataLength.QuadPart;
- if (ValidDataLength==G_MAXINT64)
- ValidDataLength=FileSize;
+ /* Do not: if (ValidDataLength==G_MAXINT64)
+ * ValidDataLength=FileSize;
+ * In some cases (during NTFS mount) there may be also invalid 'ValidDataLength' at all:
+ * CcSetFileSizes(AllocationSize=0x1000000,FileSize=0xf80208,ValidDataLength=0x23b801a0)
+ */
+ ValidDataLength=FileSize;
g_assert(AllocationSize>=0);
g_assert(FileSize>=0);