mirror of
https://github.com/opnsense/src.git
synced 2026-05-25 18:54:02 -04:00
When a new FS image is created we need to calculate how much space each
file is going to consume.
Fix two bugs in that logic:
1) Count the space needed for indirect blocks for large files.
1) Normally the trailing data of a file is written to a block of frag
size, 4 kB by default.
However for files that use indirect blocks a full block is allocated,
32kB by default. Take that into account.
Adjust size calculations to match what is done in ffs_mkfs routine:
* Depending on the UFS version the superblock is stored at a different
offset. Take that into account.
* Add the cylinder group block size.
* All of the above has to be aligned to the block size.
Finally, Remove "ncg" variable. It's always 1 and it was used to
multiply stuff.
PR: 229929
Reviewed by: mckusick
Sponsored by: Semihalf
Submitted by: Kornel Dulęba <mindal@semihalf.com>
Differential Revision: https://reviews.freebsd.org/D35131
Differential Revision: https://reviews.freebsd.org/D35132
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| cd9660 | ||
| ffs | ||
| msdos | ||
| tests | ||
| cd9660.c | ||
| cd9660.h | ||
| ffs.c | ||
| ffs.h | ||
| Makefile | ||
| Makefile.depend | ||
| makefs.8 | ||
| makefs.c | ||
| makefs.h | ||
| msdos.c | ||
| msdos.h | ||
| mtree.c | ||
| walk.c | ||