From: Theodore T. <ty...@mi...> - 2002-04-09 17:00:25
|
On Mon, Apr 08, 2002 at 10:39:43PM -0400, William Stearns wrote: > > Run e2fsck right after the resize and you'll find that resize2fs > 1.26 does not extend the file out to the right total length. If you > picture the file as (simplified): > > ....MddddMddddMddddMdddd > > where M is ext2 Metadata and d is actual data storage space, > resize2fs performs actual writes to all of the M's, extending the file out > to the last M, but never writes out to the last 4 d's, leaving the file 4 > d's short. > I'm _way_ oversimplifying here, and run a remarkably good risk of > misunderstanding the problem in the first place; Ted T'so should be ^^^^ Ts'o :-) > considered authoritative. Yup, that's basically it. resize2fs was written assuming that you would be extending filesystems that were located in block devices --- either real disks, or LVM devices. So it wasn't doing anything to extend the filesystem when it was located in a file; it merely seeked to the right location, and wrote/modified the necessary blocks. Hmm... it just occurred to me. If the filesystem is being shrunk, it would probably be a good idea if resizefs called ftruncate to shrink the file to the correct size, too. Hmm.... - Ted |