bcachefs: bcachefs_metadata_version_disk_accounting_inum
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 12 Aug 2024 06:27:36 +0000 (02:27 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 14 Aug 2024 03:00:50 +0000 (23:00 -0400)
commit58474f76a770bcc79d4b2d7232e4d6650e732b50
tree483b52bc19698ce56eda1ea003a049161aa8af96
parent5132b99bb62664c02bd6c0dd62ad3fedc75294d8
bcachefs: bcachefs_metadata_version_disk_accounting_inum

This adds another disk accounting counter to track usage per inode
number (any snapshot ID).

This will be used for a couple things:

- It'll give us a way to tell the user how much space a given file ista
  consuming in all snapshots; i.e. how much extra space it's consuming
  due to snapshot versioning.

- It counts number of extents and total size of extents (both in btree
  keyspace sectors and actual disk usage), meaning it gives us average
  extent size: that is, it'll let us cheaply find fragmented files that
  should be defragmented.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs_format.h
fs/bcachefs/buckets.c
fs/bcachefs/disk_accounting.c
fs/bcachefs/disk_accounting.h
fs/bcachefs/disk_accounting_format.h
fs/bcachefs/sb-downgrade.c