X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=mm%2Fzswap.c;h=30092d9a3b23ee8ffd05a3026c8479b357f6d408;hb=8ba90f5cc71701aa262f222effead02206b04227;hp=59da2a415fbb668c1127a496f68eac26cf5d64bf;hpb=f8b2507c263d6c1478d179c7c260064a61f14542;p=tomoyo%2Ftomoyo-test1.git diff --git a/mm/zswap.c b/mm/zswap.c index 59da2a415fbb..30092d9a3b23 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1174,9 +1174,16 @@ static int zswap_frontswap_store(unsigned type, pgoff_t offset, goto reject; } + /* + * XXX: zswap reclaim does not work with cgroups yet. Without a + * cgroup-aware entry LRU, we will push out entries system-wide based on + * local cgroup limits. + */ objcg = get_obj_cgroup_from_page(page); - if (objcg && !obj_cgroup_may_zswap(objcg)) - goto shrink; + if (objcg && !obj_cgroup_may_zswap(objcg)) { + ret = -ENOMEM; + goto reject; + } /* reclaim space if needed */ if (zswap_is_full()) {