Skip to content
Snippets Groups Projects
Commit c183ae5e authored by Nikita Danilov's avatar Nikita Danilov
Browse files

cl_page_list_own(): if page was truncated concurrently, remove it from the queue at once.

parent 99c0b6a5
No related branches found
No related tags found
No related merge requests found
......@@ -1126,16 +1126,18 @@ int cl_page_list_own(const struct lu_env *env,
struct cl_io *io, struct cl_page_list *plist)
{
struct cl_page *page;
struct cl_page *temp;
int result;
int rc;
LINVRNT(plist->pl_owner == cfs_current());
ENTRY;
result = 0;
cl_page_list_for_each(page, plist) {
rc = cl_page_own(env, io, page);
cl_page_list_for_each_safe(page, temp, plist) {
if (cl_page_own(env, io, page) == 0)
result = result ?: page->cp_error;
else
cl_page_list_del(env, plist, page);
}
RETURN(result);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment