From: Dmitry Monakhov Date: Mon, 31 May 2010 02:49:32 +0000 (-0400) Subject: ext4: explicitly remove inode from orphan list after failed direct io X-Git-Tag: firefly_0821_release~10186^2~1335 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2c20b11766ad108f31b550fe28a32cf2ec445b19;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: "Theodore Ts'o" Signed-off-by: Greg Kroah-Hartman --- 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)