Re: [RFC 0/5] dio: clean up completion phase of direct_io_worker()

From: Jeff Moyer
Date: Wed Sep 06 2006 - 14:10:29 EST


==> Regarding Re: [RFC 0/5] dio: clean up completion phase of direct_io_worker(); Zach Brown <zach.brown@xxxxxxxxxx> adds:

>> This all looks good, the code is much easier to follow. What do you think
>> about making dio->result an unsigned quantity? It should never be negative
>> now that there is an io_error field.

zach.brown> Yeah, that has always bugged me too. I considered renaming it
zach.brown> 'issued', or something, as part of this patchset but thought we
zach.brown> could do it later.

I figured since you were doing some house-keeping, we might as well clean
up as much as possible. It's up to you, though. ;)

zach.brown> While we're on this topic, I'm nervious that we increment it
zach.brown> when do_direct_IO fails. It might be sound, but that we
zach.brown> consider it the amount of work "transferred" for dio->end_io
zach.brown> makes me want to make sure there aren't confusing corner cases
zach.brown> here.

It does look non-obvious when reading the code. However, I'm pretty sure
it's right. dio->block_in_file is only updated if there is no error
returned from submit_page_section. As such, it really does reflect how
much work was done before the error, right? It does seem odd that we do
this math in two separate places, though.

-Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/