From 3e9f45bd18191bbd05468b19b7064b8da8262aba Mon Sep 17 00:00:00 2001 From: Guillaume Chazarain Date: Tue, 8 May 2007 00:23:25 -0700 Subject: Factor outstanding I/O error handling Cleanup: setting an outstanding error on a mapping was open coded too many times. Factor it out in mapping_set_error(). Signed-off-by: Guillaume Chazarain Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/mpage.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'fs/mpage.c') diff --git a/fs/mpage.c b/fs/mpage.c index 692a3e578fc8..fa2441f57b41 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -663,12 +663,7 @@ confused: /* * The caller has a ref on the inode, so *mapping is stable */ - if (*ret) { - if (*ret == -ENOSPC) - set_bit(AS_ENOSPC, &mapping->flags); - else - set_bit(AS_EIO, &mapping->flags); - } + mapping_set_error(mapping, *ret); out: return bio; } @@ -776,14 +771,7 @@ retry: if (writepage) { ret = (*writepage)(page, wbc); - if (ret) { - if (ret == -ENOSPC) - set_bit(AS_ENOSPC, - &mapping->flags); - else - set_bit(AS_EIO, - &mapping->flags); - } + mapping_set_error(mapping, ret); } else { bio = __mpage_writepage(bio, page, get_block, &last_block_in_bio, &ret, wbc, -- cgit v1.2.3-59-g8ed1b