Commit 0df83c18 authored by Hiroya Nozaki's avatar Hiroya Nozaki Committed by Greg Kroah-Hartman
Browse files

staging/lustre/osc: LBUG in osc_lru_reclaim



LASSERT touches cl_client_cache->ccc_lru without any protection.
So this patch the LASSERT moves to the section protected by
cl_client_cache->ccc_lru_lock

Signed-off-by: default avatarHiroya Nozaki <nozaki.hiroya@jp.fujitsu.com>
Reviewed-on: http://review.whamcloud.com/14901
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6624


Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
Signed-off-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6fa3c577
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -818,7 +818,6 @@ static int osc_lru_reclaim(struct client_obd *cli)
	int rc;

	LASSERT(cache != NULL);
	LASSERT(!list_empty(&cache->ccc_lru));

	rc = osc_lru_shrink(cli, lru_shrink_min);
	if (rc != 0) {
@@ -835,6 +834,8 @@ static int osc_lru_reclaim(struct client_obd *cli)
	/* Reclaim LRU slots from other client_obd as it can't free enough
	 * from its own. This should rarely happen. */
	spin_lock(&cache->ccc_lru_lock);
	LASSERT(!list_empty(&cache->ccc_lru));

	cache->ccc_lru_shrinkers++;
	list_move_tail(&cli->cl_lru_osc, &cache->ccc_lru);