On Mon, 7 Sep 2015 10:11:56 +0800 "Norton.Zhu" <norton....@huawei.com> 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 Ocfs2-devel@oss.oracle.com https://oss.oracle.com/mailman/listinfo/ocfs2-devel