diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog index 5860aeba..6f1e0e4c 100644 --- a/lib/ext2fs/ChangeLog +++ b/lib/ext2fs/ChangeLog @@ -1,3 +1,8 @@ +2003-04-29 Theodore Ts'o + + * getsize.c (ext2fs_get_device_size): Allow windows code to get + the resize for filesystems that are in regular files. + 2003-04-21 Theodore Ts'o * Release of E2fsprogs 1.33 diff --git a/lib/ext2fs/getsize.c b/lib/ext2fs/getsize.c index 39e471f7..49a1bd9f 100644 --- a/lib/ext2fs/getsize.c +++ b/lib/ext2fs/getsize.c @@ -57,6 +57,7 @@ errcode_t ext2fs_get_device_size(const char *file, int blocksize, PARTITION_INFORMATION pi; DISK_GEOMETRY gi; DWORD retbytes; + LARGE_INTEGER filesize; dev = CreateFile(file, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE , @@ -80,6 +81,9 @@ errcode_t ext2fs_get_device_size(const char *file, int blocksize, gi.SectorsPerTrack * gi.TracksPerCylinder * gi.Cylinders.QuadPart / blocksize; + + } else if (GetFileSizeEx(dev, &filesize)) { + *retblocks = filesize.QuadPart / blocksize; } CloseHandle(dev);