mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/1] ufs: missing check for block_truncate_page
@ 2015-03-25  1:31 Chengyu Song
  0 siblings, 0 replies; only message in thread
From: Chengyu Song @ 2015-03-25  1:31 UTC (permalink / raw)
  To: dushistov, linux-kernel; +Cc: taesoo, changwoo, sanidhya, blee, csong84

block_truncate_page may fail under certain circumstances, so its result
should be checked.

Signed-off-by: Chengyu Song <csong84@gatech.edu>
---
 fs/ufs/truncate.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/ufs/truncate.c b/fs/ufs/truncate.c
index f04f89f..8b41f07 100644
--- a/fs/ufs/truncate.c
+++ b/fs/ufs/truncate.c
@@ -464,7 +464,12 @@ int ufs_truncate(struct inode *inode, loff_t old_i_size)
 		goto out;
 	}
 
-	block_truncate_page(inode->i_mapping, inode->i_size, ufs_getfrag_block);
+	err = block_truncate_page(inode->i_mapping, inode->i_size, ufs_getfrag_block);
+
+	if (err) {
+		i_size_write(inode, old_i_size);
+		goto out;
+	}
 
 	while (1) {
 		retry = ufs_trunc_direct(inode);
-- 
2.1.0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-03-25  1:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-25  1:31 [PATCH 1/1] ufs: missing check for block_truncate_page Chengyu Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®