| Submitter | Artem Bityutskiy |
|---|---|
| Date | June 3, 2011, 3:06 p.m. |
| Message ID | <1307113619.3069.14.camel@localhost> |
| Download | mbox | patch |
| Permalink | /patch/98595/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/fs/ubifs/shrinker.c b/fs/ubifs/shrinker.c index ca953a9..9e1d056 100644 --- a/fs/ubifs/shrinker.c +++ b/fs/ubifs/shrinker.c @@ -284,7 +284,11 @@ int ubifs_shrinker(struct shrinker *shrink, struct shrink_control *sc) long clean_zn_cnt = atomic_long_read(&ubifs_clean_zn_cnt); if (nr == 0) - return clean_zn_cnt; + /* + * Due to the way UBIFS updates the clean znode counter it may + * temporarily be negative. + */ + return clean_zn_cnt >= 0 ? clean_zn_cnt : 1; if (!clean_zn_cnt) { /*