mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
support: Fix detecting hole support on >2KB-block filesystems
When detecting hole support, we write at 16MiB, and filesystems will typically need two levels of data to record that. On filesystems with 8KB block, the two indirection blocks will require a total of 16KB overhead, thus 32 512-byte sectors. Spotted on GNU/Hurd with a 4KB blocks filesystem, but also happens on Linux with 4KB or 8KB blocks filesystems. * support/support_descriptor_supports_holes.c (support_descriptor_supports_holes): Set block_headroom to 32.
This commit is contained in:
parent
6f10ff02cb
commit
3f6e4fc454
@ -34,8 +34,10 @@ support_descriptor_supports_holes (int fd)
|
||||
write_offset = 16 * 1024 * 1024,
|
||||
|
||||
/* Our write may add this number of additional blocks (see
|
||||
block_limit below). */
|
||||
block_headroom = 8,
|
||||
block_limit below): writing at offset 16M can require two data block
|
||||
indirections, each of which can be as large as 8KB on ext2, thus 32
|
||||
512B sectors. */
|
||||
block_headroom = 32,
|
||||
};
|
||||
|
||||
struct stat64 st;
|
||||
|
Loading…
Reference in New Issue
Block a user