xfs: support removal of multi-record inode chunks
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | xfs: create helper to delete multiple inobt recordsfs/ | +53 | 0 replies | |
| 2/3 | xfs: remove entire inode chunks when all inodes are freefs/ | +187 | 0 replies | |
| 3/3 | xfs: inobt record insert/delete tracepointsfs/ fs/ | +45 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/3] xfs: support removal of multi-record inode chunks
Hi all,
I had recently started prototyping a mechanism to do inode preallocation and deferred removal and one of my goals for that work was to also handle the existing problem where inode chunks are never removed on filesystems with large block sizes. While hashing the prealloc work out, it became apparent that the large block size problem could stand on its own.
The problem is that for fs' where the number of inodes per block is larger than 64 (e.g., -bsize=64k -isize=512b), a single inode chunk requires more than one inobt record. For such fs', we don't currently have enough context on inode removal to determine whether records other than those for the particular inode can be removed. As such, inode chunks are never freed. This series aims to provide enough context so that inode records can be removed once the entire chunk is free.
Patch 1 introduces a new multi-record deletion helper but does not change existing behavior. Patch 2 is the bulk of the enhancement. In a nutshell, it provides a mechanism to determine whether an inode chunk that spans one or more inobt records is completely free and to remove the entire chunk if so. Patch 3 introduces some inobt record management tracepoints.
So far this has seen medium testing on ppc64 with various block sizes up to 64k (single and multiple inobt record per chunk configurations). Thoughts, reviews, flames appreciated.
Brian
P.S., Note that this series applies on top of the sparse inode series.
Brian Foster (3):
xfs: create helper to delete multiple inobt records
xfs: remove entire inode chunks when all inodes are free
xfs: inobt record insert/delete tracepoints
fs/xfs/libxfs/xfs_ialloc.c | 270 +++++++++++++++++++++++++++++++++++++++++---- fs/xfs/xfs_trace.h | 32 ++++++ 2 files changed, 281 insertions(+), 21 deletions(-)
Signature · 6 lines
1.9.3 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs