char crypt_type[MAX_TYPE_LENGTH];
char swapfile[64];
float zpool_ratio;
- long zswap_file_size;
- unsigned long zswap_reclaim_bytes;
+ unsigned long long zswap_file_bytes;
+ unsigned long long zswap_reclaim_bytes;
char zpool_type[MAX_TYPE_LENGTH];
};
.crypt_type = "aes",
.swapfile = SWAP_FILE_NAME,
.zpool_ratio = DEFAULT_ZSWAP_POOL_RATIO,
- .zswap_file_size = DEFAULT_ZSWAP_FILE_SIZE,
+ .zswap_file_bytes = DEFAULT_ZSWAP_FILE_SIZE,
.zswap_reclaim_bytes = 0,
.zpool_type = "zbud",
};
int r;
zswap_control.zswap_reclaim_bytes =
- zswap_control.zswap_file_size * ZSWAP_FULLNESS_RATIO;
+ zswap_control.zswap_file_bytes * ZSWAP_FULLNESS_RATIO;
r = swap_set_file(zswap_control.swapfile, swap, zswap_control.crypt_type);
if (r < 0)
static int swap_zswap_reclaim(void *data)
{
int r;
- unsigned int swap_size;
+ unsigned int swap_size_pages;
+ unsigned long long swap_size_bytes;
- r = fread_uint(ZSWAP_WRITTEN_SIZE, &swap_size);
+ r = fread_uint(ZSWAP_WRITTEN_SIZE, &swap_size_pages);
if (r < 0) {
_E("fail to read written swap size");
return r;
}
- swap_size <<= PAGE_SHIFT;
- if (swap_size <= zswap_control.zswap_reclaim_bytes)
+ swap_size_bytes = swap_size_pages <<= PAGE_SHIFT;
+ if (swap_size_bytes <= zswap_control.zswap_reclaim_bytes)
return 0;
/*
* So, it requires to trigger proactive oom killer.
*/
- lowmem_trigger_swap_reclaim(CGROUP_ROOT, swap_size);
+ lowmem_trigger_swap_reclaim(CGROUP_ROOT, swap_size_bytes);
return -ENOSPC;
}
if (access(ZSWAP_POOL_PERCENT, R_OK) != 0)
return -ENOENT;
- swap->k_size = BYTE_TO_KBYTE(zswap_control.zswap_file_size);
+ swap->k_size = BYTE_TO_KBYTE(zswap_control.zswap_file_bytes);
return 0;
}
memset(zswap_control.zpool_type, 0, MAX_TYPE_LENGTH);
_I("[SWAP] zswap type = %s", zswap_control.crypt_type);
- _I("[SWAP] zswap filesize = %ld", zswap_control.zswap_file_size);
+ _I("[SWAP] zswap filesize = %llu bytes", zswap_control.zswap_file_bytes);
_I("[SWAP] zswap pool ratio = %f", zswap_control.zpool_ratio);
_I("[SWAP] zswap pool type = %s", zswap_control.zpool_type);