- Original Message -
| These patches add new fields to struct gfs2_rgrp. The intention is to improve
| fsck performance and error checking while reducing reliance on the rindex to
| be read in order to scan through the resource groups in tools such as
| fsck.gfs2. This is part of a wider go
Add a new function gfs2_ordered_shrink() that is called when
syncfs is run. This function runs through the ordered list of
inodes and removes the ones that don't have any pages in need
of writing.
Signed-off-by: Abhi Das
---
fs/gfs2/log.c | 16
fs/gfs2/log.h | 1 +
fs/gfs2/
Trim the list in gfs2_ordered_write() as we run through it
to write out inodes.
Also attempt to remove an inode from the list after it is
fsync'ed.
Finally, call gfs2_ordered_write() in case we were not able
to shrink the list in gfs2_ordered_shrink() in the hopes that
it will eventually cause the
Keep stats on the size of the ordered list and keep track of
where it's added to and removed from
---
fs/gfs2/bmap.c | 2 +-
fs/gfs2/file.c | 2 +-
fs/gfs2/incore.h | 12
fs/gfs2/log.c| 7 +--
fs/gfs2/log.h| 35 +--
This is a RHEL7 patchset to address bz 1511599.
The first patch in this series is just an instrumentation patch to assess
the impact of the subsequent patches on the ordered write list. It is not
intended to be merged into the code base.
The second patch adds a function gfs2_ordered_shrink() whic
Hi,
looking at gfs2_journaled_truncate, I noticed that the loop in there
can be awfully expensive for huge sparse jdata files. This is because
of two reasons:
(1) The loop goes from the truncate point to the file size, creating a
new transaction every GFS2_JTRUNC_REVOKES blocks (8192).
We co