On Tue, Jan 16, 2007 at 08:14:16PM +0100, Peter Zijlstra wrote: > On Tue, 2007-01-16 at 18:36 +0100, Peter Zijlstra wrote: > > buf, bytes); > > > @@ -1935,10 +1922,9 @@ generic_file_buffered_write(struct kiocb > > > cur_iov, iov_offset, bytes); > > > flush_dcache_page(page); > > > status = a_ops->commit_write(file, page, offset, offset+bytes); > > > - if (status == AOP_TRUNCATED_PAGE) { > > > - page_cache_release(page); > > > - continue; > > > - } > > > + if (unlikely(status)) > > > + goto fs_write_aop_error; > > > + > > > > I don't think this is correct, see how status >= 0 is used a few lines > > downwards. Perhaps something along the lines of an > > is_positive_aop_return() to test on? > > Hmm, if commit_write() will never return non error positive values then > this and 8/10 look sane. It's really ugly, but it looks like at least some filesystems do. So I'll fix up this. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html