On Mon, 7 Sep 2015 10:11:56 +0800 "Norton.Zhu" <[email protected]> wrote:
> If ocfs2_is_overwrite failed, ocfs2_direct_IO_write mays till return success
> to the caller.
>
> ...
>
> --- a/aops.c
> +++ b/aops.c
> @@ -847,6 +847,7 @@ static ssize_t ocfs2_direct_IO_write(struct kiocb *iocb,
> is_overwrite = ocfs2_is_overwrite(osb, inode, offset);
> if (is_overwrite < 0) {
> mlog_errno(is_overwrite);
> + ret = is_overwrite;
> ocfs2_inode_unlock(inode, 1);
> goto clean_orphan;
> }
Looks OK.
We do `goto clean_orphan' and if (orphan), the code then proceeds to
overwrite the error code in `ret'. This is odd, and probably wrong -
it's usually best to return the first-encountered error.
_______________________________________________
Ocfs2-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/ocfs2-devel