diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-10-12 04:41:27 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-10-12 04:41:27 +0200 |
commit | 38ac38b298a91c358285b7330aa66679338af874 (patch) | |
tree | ff04e22cddaf2262f7341ed26d38487e6d438e30 | |
parent | 689b9a22f7fa89686b2b5240b7ee9f449dea5630 (diff) |
journal: only fallocate() what we really need to avoid slowness on file systems which do not support fallocate natively
-rw-r--r-- | src/journal/journal-file.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 37e2e37eb1..45cc0d1d8e 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -162,7 +162,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) new_size = PAGE_ALIGN(offset + size); /* We assume that this file is not sparse, and we know that - * for sure, since we alway call posix_fallocate() + * for sure, since we always call posix_fallocate() * ourselves */ old_size = @@ -195,7 +195,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) if (asize > le64toh(f->header->arena_max_size)) return -E2BIG; - if (posix_fallocate(f->fd, 0, new_size) < 0) + if (posix_fallocate(f->fd, old_size, new_size - old_size) < 0) return -errno; if (fstat(f->fd, &f->last_stat) < 0) |