2014-03-17 19:13:07

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH] ext3: explicitly remove inode from orphan list after failed direct io

Otherwise non-empty orphan list will be triggered on umount.

This is just an application of commit da1daf by Dmitry Monakhov
to the same code in ext3.

Signed-off-by: Eric Sandeen <[email protected]>
---

diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 384b6eb..caf4c4a 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -1925,6 +1925,8 @@ retry:
* and pretend the write failed... */
ext3_truncate_failed_direct_write(inode);
ret = PTR_ERR(handle);
+ if (inode->i_nlink)
+ ext3_orphan_del(NULL, inode);
goto out;
}
if (inode->i_nlink)


2014-03-17 19:22:55

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] ext3: explicitly remove inode from orphan list after failed direct io

On Mon 17-03-14 14:13:00, Eric Sandeen wrote:
> Otherwise non-empty orphan list will be triggered on umount.
>
> This is just an application of commit da1daf by Dmitry Monakhov
> to the same code in ext3.
Thanks, I've merged the patch.

Honza
>
> Signed-off-by: Eric Sandeen <[email protected]>
> ---
>
> diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
> index 384b6eb..caf4c4a 100644
> --- a/fs/ext3/inode.c
> +++ b/fs/ext3/inode.c
> @@ -1925,6 +1925,8 @@ retry:
> * and pretend the write failed... */
> ext3_truncate_failed_direct_write(inode);
> ret = PTR_ERR(handle);
> + if (inode->i_nlink)
> + ext3_orphan_del(NULL, inode);
> goto out;
> }
> if (inode->i_nlink)
--
Jan Kara <[email protected]>
SUSE Labs, CR