diff options
Diffstat (limited to 'fs/btrfs/ordered-data.c')
-rw-r--r-- | fs/btrfs/ordered-data.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c index 2eb6caba57c2..b5745bb96d40 100644 --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c | |||
@@ -165,7 +165,8 @@ static inline struct rb_node *tree_search(struct btrfs_ordered_inode_tree *tree, | |||
165 | * inserted. | 165 | * inserted. |
166 | */ | 166 | */ |
167 | int btrfs_add_ordered_extent(struct inode *inode, u64 file_offset, | 167 | int btrfs_add_ordered_extent(struct inode *inode, u64 file_offset, |
168 | u64 start, u64 len, int nocow) | 168 | u64 start, u64 len, u64 disk_len, int nocow, |
169 | int compressed) | ||
169 | { | 170 | { |
170 | struct btrfs_ordered_inode_tree *tree; | 171 | struct btrfs_ordered_inode_tree *tree; |
171 | struct rb_node *node; | 172 | struct rb_node *node; |
@@ -180,9 +181,12 @@ int btrfs_add_ordered_extent(struct inode *inode, u64 file_offset, | |||
180 | entry->file_offset = file_offset; | 181 | entry->file_offset = file_offset; |
181 | entry->start = start; | 182 | entry->start = start; |
182 | entry->len = len; | 183 | entry->len = len; |
184 | entry->disk_len = disk_len; | ||
183 | entry->inode = inode; | 185 | entry->inode = inode; |
184 | if (nocow) | 186 | if (nocow) |
185 | set_bit(BTRFS_ORDERED_NOCOW, &entry->flags); | 187 | set_bit(BTRFS_ORDERED_NOCOW, &entry->flags); |
188 | if (compressed) | ||
189 | set_bit(BTRFS_ORDERED_COMPRESSED, &entry->flags); | ||
186 | 190 | ||
187 | /* one ref for the tree */ | 191 | /* one ref for the tree */ |
188 | atomic_set(&entry->refs, 1); | 192 | atomic_set(&entry->refs, 1); |
@@ -389,9 +393,10 @@ void btrfs_start_ordered_extent(struct inode *inode, | |||
389 | * for pdflush to find them | 393 | * for pdflush to find them |
390 | */ | 394 | */ |
391 | btrfs_fdatawrite_range(inode->i_mapping, start, end, WB_SYNC_NONE); | 395 | btrfs_fdatawrite_range(inode->i_mapping, start, end, WB_SYNC_NONE); |
392 | if (wait) | 396 | if (wait) { |
393 | wait_event(entry->wait, test_bit(BTRFS_ORDERED_COMPLETE, | 397 | wait_event(entry->wait, test_bit(BTRFS_ORDERED_COMPLETE, |
394 | &entry->flags)); | 398 | &entry->flags)); |
399 | } | ||
395 | } | 400 | } |
396 | 401 | ||
397 | /* | 402 | /* |