summaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorDmitry Monakhov <dmonakhov@openvz.org>2010-05-30 22:49:32 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-02 10:21:13 -0700
commit2c20b11766ad108f31b550fe28a32cf2ec445b19 (patch)
tree26bacf8120ad8b0baef880b4416a5e0440cc32eb /fs/ext4
parent338ae6b7be4525d210a49c3e0433ff6a1a34f35d (diff)
ext4: explicitly remove inode from orphan list after failed direct io
commit da1dafca84413145f5ac59998b4cdd06fb89f721 upstream (as of v2.6.33-git11) Otherwise non-empty orphan list will be triggered on umount. Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/inode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index ceba60661d81..65176242886a 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -3480,6 +3480,9 @@ retry:
* but cannot extend i_size. Bail out and pretend
* the write failed... */
ret = PTR_ERR(handle);
+ if (inode->i_nlink)
+ ext4_orphan_del(NULL, inode);
+
goto out;
}
if (inode->i_nlink)