Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
0de4d503
Commit
0de4d503
authored
Sep 24, 2002
by
Dave Kleikamp
Browse files
Options
Browse Files
Download
Plain Diff
Merge jfs@jfs.bkbits.net:linux-2.5
into kleikamp.austin.ibm.com:/home/shaggy/bk/jfs-2.5
parents
0cd9efe3
beec14df
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
10 deletions
+10
-10
fs/jfs/jfs_dmap.c
fs/jfs/jfs_dmap.c
+10
-10
No files found.
fs/jfs/jfs_dmap.c
View file @
0de4d503
...
@@ -648,7 +648,7 @@ int dbNextAG(struct inode *ipbmap)
...
@@ -648,7 +648,7 @@ int dbNextAG(struct inode *ipbmap)
agpref
=
bmp
->
db_agpref
;
agpref
=
bmp
->
db_agpref
;
if
((
atomic_read
(
&
bmp
->
db_active
[
agpref
])
==
0
)
&&
if
((
atomic_read
(
&
bmp
->
db_active
[
agpref
])
==
0
)
&&
(
bmp
->
db_agfree
[
agpref
]
>=
avgfree
))
(
bmp
->
db_agfree
[
agpref
]
>=
avgfree
))
goto
found
;
goto
unlock
;
/* From the last preferred ag, find the next one with at least
/* From the last preferred ag, find the next one with at least
* average free space.
* average free space.
...
@@ -660,9 +660,12 @@ int dbNextAG(struct inode *ipbmap)
...
@@ -660,9 +660,12 @@ int dbNextAG(struct inode *ipbmap)
if
(
atomic_read
(
&
bmp
->
db_active
[
agpref
]))
if
(
atomic_read
(
&
bmp
->
db_active
[
agpref
]))
/* open file is currently growing in this ag */
/* open file is currently growing in this ag */
continue
;
continue
;
if
(
bmp
->
db_agfree
[
agpref
]
>=
avgfree
)
if
(
bmp
->
db_agfree
[
agpref
]
>=
avgfree
)
{
goto
found
;
/* Return this one */
else
if
(
bmp
->
db_agfree
[
agpref
]
>
hwm
)
{
bmp
->
db_agpref
=
agpref
;
goto
unlock
;
}
else
if
(
bmp
->
db_agfree
[
agpref
]
>
hwm
)
{
/* Less than avg. freespace, but best so far */
hwm
=
bmp
->
db_agfree
[
agpref
];
hwm
=
bmp
->
db_agfree
[
agpref
];
next_best
=
agpref
;
next_best
=
agpref
;
}
}
...
@@ -673,12 +676,9 @@ int dbNextAG(struct inode *ipbmap)
...
@@ -673,12 +676,9 @@ int dbNextAG(struct inode *ipbmap)
* next best
* next best
*/
*/
if
(
next_best
!=
-
1
)
if
(
next_best
!=
-
1
)
agpref
=
next_best
;
bmp
->
db_agpref
=
next_best
;
/* else leave db_agpref unchanged */
/* else agpref should be back to its original value */
unlock:
found:
bmp
->
db_agpref
=
agpref
;
BMAP_UNLOCK
(
bmp
);
BMAP_UNLOCK
(
bmp
);
/* return the preferred group.
/* return the preferred group.
...
...
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