Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions doc/bcachefs.5.rst.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,21 @@ be used to pin a specific file or directory to a specific device or target:
Note that if the target specified is full, the write will spill over to the rest
of the filesystem.

FIEMAP and block-level writes
-----------------------------

Tools such as ``filefrag`` use the kernel FIEMAP interface to report the
physical locations of a file's extents. On bcachefs, those locations are an
observation, not a stable userspace write ABI: background data movement such as
copygc, rebalance, evacuation, or normal filesystem updates may relocate extents,
and userspace has no interface to lock those moves out.

Writing directly to the block device locations reported by FIEMAP, for example
through a manually constructed device-mapper table, is therefore unsafe while
the filesystem is mounted. This remains true even for preallocated files and
files using ``nocow``; any block-level write path must be coordinated by the
filesystem itself.

Data protection
---------------

Expand Down
Loading