Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
65555a06
Commit
65555a06
authored
Oct 25, 2007
by
Yan
Committed by
Chris Mason
Sep 25, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Btrfs: Off by one fixes in extent_map.c
Signed-off-by:
Chris Mason
<
chris.mason@oracle.com
>
parent
f578d4bd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
5 deletions
+6
-5
fs/btrfs/extent_map.c
fs/btrfs/extent_map.c
+5
-5
fs/btrfs/inode.c
fs/btrfs/inode.c
+1
-0
No files found.
fs/btrfs/extent_map.c
View file @
65555a06
...
...
@@ -2045,7 +2045,7 @@ struct extent_buffer *alloc_extent_buffer(struct extent_map_tree *tree,
struct
extent_buffer
*
eb
;
struct
page
*
p
;
struct
address_space
*
mapping
=
tree
->
mapping
;
int
uptodate
=
0
;
int
uptodate
=
1
;
eb
=
__alloc_extent_buffer
(
tree
,
start
,
len
,
mask
);
if
(
!
eb
||
IS_ERR
(
eb
))
...
...
@@ -2197,7 +2197,7 @@ int clear_extent_buffer_dirty(struct extent_map_tree *tree,
*/
if
((
i
==
0
&&
(
eb
->
start
&
(
PAGE_CACHE_SIZE
-
1
)))
||
((
i
==
num_pages
-
1
)
&&
((
eb
->
start
+
eb
->
len
-
1
)
&
(
PAGE_CACHE_SIZE
-
1
))))
{
((
eb
->
start
+
eb
->
len
)
&
(
PAGE_CACHE_SIZE
-
1
))))
{
start
=
page
->
index
<<
PAGE_CACHE_SHIFT
;
end
=
start
+
PAGE_CACHE_SIZE
-
1
;
if
(
test_range_bit
(
tree
,
start
,
end
,
...
...
@@ -2265,7 +2265,7 @@ int set_extent_buffer_uptodate(struct extent_map_tree *tree,
page
=
extent_buffer_page
(
eb
,
i
);
if
((
i
==
0
&&
(
eb
->
start
&
(
PAGE_CACHE_SIZE
-
1
)))
||
((
i
==
num_pages
-
1
)
&&
((
eb
->
start
+
eb
->
len
-
1
)
&
(
PAGE_CACHE_SIZE
-
1
))))
{
((
eb
->
start
+
eb
->
len
)
&
(
PAGE_CACHE_SIZE
-
1
))))
{
check_page_uptodate
(
tree
,
page
);
continue
;
}
...
...
@@ -2401,7 +2401,7 @@ int map_private_extent_buffer(struct extent_buffer *eb, unsigned long start,
struct
page
*
p
;
size_t
start_offset
=
eb
->
start
&
((
u64
)
PAGE_CACHE_SIZE
-
1
);
unsigned
long
i
=
(
start_offset
+
start
)
>>
PAGE_CACHE_SHIFT
;
unsigned
long
end_i
=
(
start_offset
+
start
+
min_len
)
>>
unsigned
long
end_i
=
(
start_offset
+
start
+
min_len
-
1
)
>>
PAGE_CACHE_SHIFT
;
if
(
i
!=
end_i
)
...
...
@@ -2414,7 +2414,7 @@ int map_private_extent_buffer(struct extent_buffer *eb, unsigned long start,
offset
=
0
;
*
map_start
=
(
i
<<
PAGE_CACHE_SHIFT
)
-
start_offset
;
}
if
(
start
+
min_len
>
=
eb
->
len
)
{
if
(
start
+
min_len
>
eb
->
len
)
{
printk
(
"bad mapping eb start %Lu len %lu, wanted %lu %lu
\n
"
,
eb
->
start
,
eb
->
len
,
start
,
min_len
);
WARN_ON
(
1
);
}
...
...
fs/btrfs/inode.c
View file @
65555a06
...
...
@@ -616,6 +616,7 @@ static int btrfs_truncate_in_trans(struct btrfs_trans_handle *trans,
break
;
}
btrfs_set_key_type
(
&
key
,
found_type
);
btrfs_release_path
(
root
,
path
);
continue
;
}
if
(
found_key
.
offset
>=
inode
->
i_size
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment