On Fri, Mar 09, 2007 at 02:35:57PM -0800, Zach Brown wrote: > + if (rw == WRITE && mapping->nrpages) { > + int err = invalidate_inode_pages2_range(mapping, > + offset >> PAGE_CACHE_SHIFT, end); > + if (err && retval >= 0) > + retval = err; > + }
I don't think reporting the error is the correct thing to do in the presense of the write having completed. It's a race that the caller can do nothing about and is arguably a kernel bug, so I'd rather do something like: if (err) { if (!retval) retval = err; else printk_ratelimited(KERN_DEBUG "dio sucks and hit the race %ld %ld\n", retval, err); } Aside from that, I much prefer this approach to fix the problem than going around and changing semantics. Feel free to add my Signed-off-by. -ben -- "Time is of no importance, Mr. President, only life is important." Don't Email: <[EMAIL PROTECTED]>. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/