Skip to content

Commit 3f6bb4a

Browse files
adam900710kdave
authored andcommitted
btrfs: sink the failed_start parameter to set_extent_bit
The @failed_start parameter is only paired with @exclusive_bits, and those parameters are only used for EXTENT_LOCKED bit, which have their own wrappers lock_extent_bits(). Thus for regular set_extent_bit() calls, the failed_start makes no sense, just sink the parameter. Also, since @failed_start and @exclusive_bits are used in pairs, add an assert to make it obvious. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
1 parent 03509b7 commit 3f6bb4a

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

fs/btrfs/extent-io-tree.h

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,14 @@ static inline int clear_extent_bits(struct extent_io_tree *tree, u64 start,
154154
int set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end,
155155
unsigned bits, struct extent_changeset *changeset);
156156
int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
157-
unsigned bits, u64 *failed_start,
158-
struct extent_state **cached_state, gfp_t mask);
157+
unsigned bits, struct extent_state **cached_state, gfp_t mask);
159158
int set_extent_bits_nowait(struct extent_io_tree *tree, u64 start, u64 end,
160159
unsigned bits);
161160

162161
static inline int set_extent_bits(struct extent_io_tree *tree, u64 start,
163162
u64 end, unsigned bits)
164163
{
165-
return set_extent_bit(tree, start, end, bits, NULL, NULL, GFP_NOFS);
164+
return set_extent_bit(tree, start, end, bits, NULL, GFP_NOFS);
166165
}
167166

168167
static inline int clear_extent_uptodate(struct extent_io_tree *tree, u64 start,
@@ -175,8 +174,7 @@ static inline int clear_extent_uptodate(struct extent_io_tree *tree, u64 start,
175174
static inline int set_extent_dirty(struct extent_io_tree *tree, u64 start,
176175
u64 end, gfp_t mask)
177176
{
178-
return set_extent_bit(tree, start, end, EXTENT_DIRTY, NULL,
179-
NULL, mask);
177+
return set_extent_bit(tree, start, end, EXTENT_DIRTY, NULL, mask);
180178
}
181179

182180
static inline int clear_extent_dirty(struct extent_io_tree *tree, u64 start,
@@ -197,28 +195,27 @@ static inline int set_extent_delalloc(struct extent_io_tree *tree, u64 start,
197195
{
198196
return set_extent_bit(tree, start, end,
199197
EXTENT_DELALLOC | EXTENT_UPTODATE | extra_bits,
200-
NULL, cached_state, GFP_NOFS);
198+
cached_state, GFP_NOFS);
201199
}
202200

203201
static inline int set_extent_defrag(struct extent_io_tree *tree, u64 start,
204202
u64 end, struct extent_state **cached_state)
205203
{
206204
return set_extent_bit(tree, start, end,
207205
EXTENT_DELALLOC | EXTENT_UPTODATE | EXTENT_DEFRAG,
208-
NULL, cached_state, GFP_NOFS);
206+
cached_state, GFP_NOFS);
209207
}
210208

211209
static inline int set_extent_new(struct extent_io_tree *tree, u64 start,
212210
u64 end)
213211
{
214-
return set_extent_bit(tree, start, end, EXTENT_NEW, NULL, NULL,
215-
GFP_NOFS);
212+
return set_extent_bit(tree, start, end, EXTENT_NEW, NULL, GFP_NOFS);
216213
}
217214

218215
static inline int set_extent_uptodate(struct extent_io_tree *tree, u64 start,
219216
u64 end, struct extent_state **cached_state, gfp_t mask)
220217
{
221-
return set_extent_bit(tree, start, end, EXTENT_UPTODATE, NULL,
218+
return set_extent_bit(tree, start, end, EXTENT_UPTODATE,
222219
cached_state, mask);
223220
}
224221

fs/btrfs/extent_io.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -980,6 +980,10 @@ __set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
980980
btrfs_debug_check_extent_io_range(tree, start, end);
981981
trace_btrfs_set_extent_bit(tree, start, end - start + 1, bits);
982982

983+
if (exclusive_bits)
984+
ASSERT(failed_start);
985+
else
986+
ASSERT(failed_start == NULL);
983987
again:
984988
if (!prealloc && gfpflags_allow_blocking(mask)) {
985989
/*
@@ -1180,11 +1184,10 @@ __set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
11801184
}
11811185

11821186
int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
1183-
unsigned bits, u64 * failed_start,
1184-
struct extent_state **cached_state, gfp_t mask)
1187+
unsigned bits, struct extent_state **cached_state, gfp_t mask)
11851188
{
1186-
return __set_extent_bit(tree, start, end, bits, 0, failed_start,
1187-
cached_state, mask, NULL);
1189+
return __set_extent_bit(tree, start, end, bits, 0, NULL, cached_state,
1190+
mask, NULL);
11881191
}
11891192

11901193

fs/btrfs/inode.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4717,8 +4717,7 @@ int btrfs_truncate_block(struct inode *inode, loff_t from, loff_t len,
47174717

47184718
if (only_release_metadata)
47194719
set_extent_bit(&BTRFS_I(inode)->io_tree, block_start,
4720-
block_end, EXTENT_NORESERVE, NULL, NULL,
4721-
GFP_NOFS);
4720+
block_end, EXTENT_NORESERVE, NULL, GFP_NOFS);
47224721

47234722
out_unlock:
47244723
if (ret) {

0 commit comments

Comments
 (0)