summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-05-17 08:27:05 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-17 22:05:07 (GMT)
commitf13ab92effb94c8fc5eade75f6f246facd7ef5be (patch)
treee34551bf50152610b473a9cf6ec146a55283efea /drivers/staging
parent49c144c8630573c5cf3534842ff30ce7232d9487 (diff)
downloadlinux-fsl-qoriq-f13ab92effb94c8fc5eade75f6f246facd7ef5be.tar.xz
staging: lustre: fix to use list_for_each_entry_safe() when delete items
Since we will remove items off the list using list_del_init() we need to use a safe version of the list_for_each_entry() macro aptly named list_for_each_entry_safe(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/lustre/lustre/osc/osc_cache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/lustre/lustre/osc/osc_cache.c b/drivers/staging/lustre/lustre/osc/osc_cache.c
index 206fead..2df2810 100644
--- a/drivers/staging/lustre/lustre/osc/osc_cache.c
+++ b/drivers/staging/lustre/lustre/osc/osc_cache.c
@@ -2620,7 +2620,7 @@ int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj,
{
struct client_obd *cli = osc_cli(obj);
struct osc_extent *ext;
- struct osc_async_page *oap;
+ struct osc_async_page *oap, *tmp;
int page_count = 0;
int mppr = cli->cl_max_pages_per_rpc;
pgoff_t start = CL_PAGE_EOF;
@@ -2639,7 +2639,7 @@ int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj,
ext = osc_extent_alloc(obj);
if (ext == NULL) {
- list_for_each_entry(oap, list, oap_pending_item) {
+ list_for_each_entry_safe(oap, tmp, list, oap_pending_item) {
list_del_init(&oap->oap_pending_item);
osc_ap_completion(env, cli, oap, 0, -ENOMEM);
}