Test for holes in swapfiles

-Erik
This commit is contained in:
Eric Andersen 2002-11-03 00:25:23 +00:00
parent bf1cc8b1b7
commit 97b141ac69

View File

@ -48,6 +48,18 @@ static const int SWAPOFF_APP = 1;
static int swap_enable_disable(const char *device) static int swap_enable_disable(const char *device)
{ {
int status; int status;
struct stat st;
if (stat(device, &st) < 0) {
perror_msg_and_die("cannot stat %s");
}
/* test for holes */
if (S_ISREG(st.st_mode)) {
if (st.st_blocks * 512 < st.st_size) {
error_msg_and_die("swap file has holes");
}
}
if (whichApp == SWAPON_APP) if (whichApp == SWAPON_APP)
status = swapon(device, 0); status = swapon(device, 0);