sysadmins from time to time are faced with the problem of reclaiming disk sandeep saHoRe space, a problem that lurks in the shadows waiting to buzz the pager into life. The typi- cal response is either to remove files or to compress them, or to invoke some combina- reclaim disk space tion of the two approaches. But there are many situations where the choice is not so by shrinking files cut-and-dried. Let’s say there is a file fill- Sandeep Sahore holds a Master’s degree in com- ing up a storage partition that cannot be puter science from the University of Toledo and removed because its data should be kept for has nearly 15 years of experience in the comput- ing industry. He specializes in low-level and C a rolling window of one year or because its programming, systems engineering, and system performance. contents are sensitive or because it is being
[email protected] held open by a process. In such cases it is better to shrink the file in size instead of The source for cfsize.c may be found at http:// removing or compressing it. www.usenix.org/publications/login/2008-10/ cfsize.c. Having faced such scenarios a countless number of times I decided to write a program that would shrink files in size from the beginning or “head.” This program is called cfsize, which is short for “change file size”; it is described in detail in the sections that follow. cfsize is written in the C lan- guage for the UNIX platform, but it works equally well on Linux.