On 12/17/2009 05:29 PM, Al Viro wrote:
On Thu, Dec 17, 2009 at 04:49:32PM +0800, Xiaotian Feng wrote:
@@ -1197,7 +1200,11 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
(end> i_size_read(inode)));
retval = direct_io_worker(rw, iocb, inode, iov, offset,
- nr_segs, blkbits, get_block, end_io, dio);
+ nr_segs, blkbits, get_block, end_io,
+ dio,&dio_freed);
+
+ if (dio_freed)
+ goto out;
Um... I'm not sure that this would be the right fix. How about simple
s/dio->flags/flags/ in the line below?
Yes, dio->flags is not changed in direct_io_worker(), your method is
better, thanks.
--
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