author: David Howells <dhowells@redhat.com> 2012-12-05 13:34:48 +0000
committer: David Howells <dhowells@redhat.com> 2012-12-20 22:10:44 +0000
commit: 75bc411388f4aeb9fb0381bd56eb5d67193ed9a1
parent: c2d35bfe4b508451b75b5b6bc60a08dbdc44f952
Commit Summary:
Diffstat:
1 file changed, 4 insertions, 3 deletions
diff --git a/fs/fscache/cache.c b/fs/fscache/cache.c
index 6a3c48abd677..b52aed1dca97 100644
--- a/fs/fscache/cache.c
+++ b/fs/fscache/cache.c
@@ -314,10 +314,10 @@ EXPORT_SYMBOL(fscache_add_cache);
*/
void fscache_io_error(struct fscache_cache *cache)
{
- set_bit(FSCACHE_IOERROR, &cache->flags);
-
- printk(KERN_ERR "FS-Cache: Cache %s stopped due to I/O error\n",
- cache->ops->name);
+ if (!test_and_set_bit(FSCACHE_IOERROR, &cache->flags))
+ printk(KERN_ERR "FS-Cache:"
+ " Cache '%s' stopped due to I/O error\n",
+ cache->ops->name);
}
EXPORT_SYMBOL(fscache_io_error);