cfs_atomic_sub(page_count, &cli->cl_cache->ccc_unstable_nr);
LASSERT(cfs_atomic_read(&cli->cl_cache->ccc_unstable_nr) >= 0);
+ cfs_atomic_sub(page_count, &cli->cl_unstable_count);
+ LASSERT(cfs_atomic_read(&cli->cl_unstable_count) >= 0);
+
cfs_atomic_sub(page_count, &obd_unstable_pages);
LASSERT(cfs_atomic_read(&obd_unstable_pages) >= 0);
LASSERT(cfs_atomic_read(&cli->cl_cache->ccc_unstable_nr) >= 0);
cfs_atomic_add(page_count, &cli->cl_cache->ccc_unstable_nr);
+ LASSERT(cfs_atomic_read(&cli->cl_unstable_count) >= 0);
+ cfs_atomic_add(page_count, &cli->cl_unstable_count);
+
LASSERT(cfs_atomic_read(&obd_unstable_pages) >= 0);
cfs_atomic_add(page_count, &obd_unstable_pages);
RETURN(rc);
}
+ if (osc_over_unstable_soft_limit(cli))
+ brw_flags |= OBD_BRW_SOFT_SYNC;
+
oap->oap_cmd = cmd;
oap->oap_page_off = ops->ops_from;
oap->oap_count = ops->ops_to - ops->ops_from;