summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/shrinker.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2011-06-10 13:12:02 -0400
committerChris Metcalf <cmetcalf@tilera.com>2011-06-10 13:12:02 -0400
commit93ea927eb15b736fa4a431f789b1097318129d2a (patch)
treeb141a0e06c9d1616dc7f0c616a96655afd32f8b0 /fs/ubifs/shrinker.c
parentdbcb4a1a3f16702918caa4d4ab7062965050a780 (diff)
parent59c5f46fbe01a00eedf54a23789634438bb80603 (diff)
downloadop-kernel-dev-93ea927eb15b736fa4a431f789b1097318129d2a.zip
op-kernel-dev-93ea927eb15b736fa4a431f789b1097318129d2a.tar.gz
Merge tag 'v3.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
Diffstat (limited to 'fs/ubifs/shrinker.c')
-rw-r--r--fs/ubifs/shrinker.c6
1 files changed, 5 insertions, 1 deletions
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) {
/*
OpenPOWER on IntegriCloud