summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2015-05-29 02:18:32 +0300
committerDave Chinner <david@fromorbit.com>2015-05-29 02:18:32 +0300
commit56d1115c9bc7853e143f59fb5976cf3de609f657 (patch)
tree88f085d3e92fb3861cc7c31b3152ae663b16f0a7 /tools/perf/scripts/python/export-to-postgresql.py
parent4148c347a42a2aba31f6f4d9a31c647c2d475697 (diff)
downloadlinux-56d1115c9bc7853e143f59fb5976cf3de609f657.tar.xz
xfs: allocate sparse inode chunks on full chunk allocation failure
xfs_ialloc_ag_alloc() makes several attempts to allocate a full inode chunk. If all else fails, reduce the allocation to the sparse length and alignment and attempt to allocate a sparse inode chunk. If sparse chunk allocation succeeds, check whether an inobt record already exists that can track the chunk. If so, inherit and update the existing record. Otherwise, insert a new record for the sparse chunk. Create helpers to align sparse chunk inode records and insert or update existing records in the inode btrees. The xfs_inobt_insert_sprec() helper implements the merge or update semantics required for sparse inode records with respect to both the inobt and finobt. To update the inobt, either insert a new record or merge with an existing record. To update the finobt, use the updated inobt record to either insert or replace an existing record. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions