X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fdirect-io.c;h=52bb2638f7ab703e9a3d5205b097ddbf90a071e2;hb=ecd27b92fbb41f779d857632a69bd45dbaf0f915;hp=8593f3dfd2990a013b6fd580e22e1e82b83d4fbf;hpb=5884c40668a928bba017eaf54e2eb3c01c8a98e6;p=linux-2.6 diff --git a/fs/direct-io.c b/fs/direct-io.c index 8593f3dfd2..52bb2638f7 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -1106,7 +1106,7 @@ direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode, spin_lock_irqsave(&dio->bio_lock, flags); ret2 = --dio->refcount; spin_unlock_irqrestore(&dio->bio_lock, flags); - BUG_ON(!dio->is_async && ret2 != 0); + if (ret2 == 0) { ret = dio_complete(dio, offset, ret); kfree(dio);