On Tue, 2011-08-23 at 18:56 +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Modify shrink_slab() to use the new .count_objects/.scan_objects API > and implement the callouts for all the existing shrinkers. > +static long > +cifs_idmap_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc) > { > - int nr_to_scan = sc->nr_to_scan; > - int nr_del = 0; > - int nr_rem = 0; > struct rb_root *root; > + long freed; > > root = &uidtree; > spin_lock(&siduidlock); > - shrink_idmap_tree(root, nr_to_scan, &nr_rem, &nr_del); > + freed = shrink_idmap_tree(root, sc->nr_to_scan); > spin_unlock(&siduidlock); > > root = &gidtree; > spin_lock(&sidgidlock); > - shrink_idmap_tree(root, nr_to_scan, &nr_rem, &nr_del); > + freed += shrink_idmap_tree(root, sc->nr_to_scan); > spin_unlock(&sidgidlock); > > - return nr_rem; > + return freed; > +} > + > +/* > + * This still abuses the nr_to_scan == 0 trick to get the common code just to > + * count objects. There neds to be an external count of the objects in the ^^^^^? Hi Dave: Great work. a bit comments. Thanks -Wanlong Gao -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html