ext4: explicitly remove inode from orphan list after failed direct io
authorDmitry Monakhov <dmonakhov@openvz.org>
Tue, 2 Mar 2010 04:15:02 +0000 (23:15 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 2 Mar 2010 04:15:02 +0000 (23:15 -0500)
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>
fs/ext4/inode.c

index edb7edc99f715b33a4badf32eb124cbc3ef83bc0..427f4690ad6d6f41f4639dca9eeb0b9b85de9d97 100644 (file)
@@ -3438,6 +3438,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)