summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_map.h
diff options
context:
space:
mode:
authorChris Mason2008-07-18 18:01:11 +0200
committerChris Mason2008-09-25 17:04:05 +0200
commit7f3c74fb831fa19bafe087e817c0a5ff3883f1ea (patch)
tree416e95db10e408240916d5061caf1e5d1182b330 /fs/btrfs/extent_map.h
parentBtrfs: Don't allow releasepage to succeed if EXTENT_ORDERED is set (diff)
downloadkernel-qcow2-linux-7f3c74fb831fa19bafe087e817c0a5ff3883f1ea.tar.gz
kernel-qcow2-linux-7f3c74fb831fa19bafe087e817c0a5ff3883f1ea.tar.xz
kernel-qcow2-linux-7f3c74fb831fa19bafe087e817c0a5ff3883f1ea.zip
Btrfs: Keep extent mappings in ram until pending ordered extents are done
It was possible for stale mappings from disk to be used instead of the new pending ordered extent. This adds a flag to the extent map struct to keep it pinned until the pending ordered extent is actually on disk. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_map.h')
-rw-r--r--fs/btrfs/extent_map.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/extent_map.h b/fs/btrfs/extent_map.h
index 56314217cfc0..a3978ec27846 100644
--- a/fs/btrfs/extent_map.h
+++ b/fs/btrfs/extent_map.h
@@ -8,6 +8,9 @@
#define EXTENT_MAP_INLINE (u64)-2
#define EXTENT_MAP_DELALLOC (u64)-1
+/* bits for the flags field */
+#define EXTENT_FLAG_PINNED 0 /* this entry not yet on disk, don't free it */
+
struct extent_map {
struct rb_node rb_node;