Код ploop (версия ploop 1.6) создает файловую систему следюущим образом:
int make_fs(const char *device, const char *fstype)
{
char part_device[64];
char *argv[8];
if (get_partition_device_name(device, part_device, sizeof(part_device)))
return SYSEXIT_MKFS;
argv[0] = "/sbin/mkfs";
argv[1] = "-t";
argv[2] = (char*)fstype;
argv[3] = "-j";
argv[4] = "-b4096";
argv[5] = part_device;
argv[6] = NULL;
if (run_prg(argv))
return SYSEXIT_MKFS;
argv[0] = "/sbin/tune2fs";
argv[1] = "-ouser_xattr,acl";
argv[2] = part_device;
argv[3] = NULL;
if (run_prg(argv))
return SYSEXIT_MKFS;
return 0;
}
Легко можно понять, что передать параметр сюда нельзя, также как и сам ploop не управляет числом inodes в создаваемой фс.
Но у mkfs.ext4 есть флаг -i, которым можно задать число inodes в целовой файловой системе явно:
-N number-of-inodes Overrides the default calculation of the number of inodes that should be reserved for the filesystem (which is based on the number of blocks and the bytes-per-inode ratio). This allows the user to specify the number of desired inodes directly.
Таким образом, внеся легкий патч в код ploop, можно подхачить систему и создать фс с нужным числом inodes без поломки openvz :)
No comments :
Post a Comment
Note: only a member of this blog may post a comment.