From: Yury Umanets <torque@ukrpost.net>

I have found small inconsistency in loop_set_fd().  It checks if
->sendfile() is implemented for passed block device file.  But in fact,
loop back device driver never calls it.  It uses ->sendfile() from backing
store file.


---

 25-akpm/drivers/block/loop.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/loop.c~loop_set_fd-sendfile-check-fix drivers/block/loop.c
--- 25/drivers/block/loop.c~loop_set_fd-sendfile-check-fix	2004-04-21 00:57:55.683321608 -0700
+++ 25-akpm/drivers/block/loop.c	2004-04-21 00:57:55.687321000 -0700
@@ -656,7 +656,7 @@ static int loop_set_fd(struct loop_devic
 		 * If we can't read - sorry. If we only can't write - well,
 		 * it's going to be read-only.
 		 */
-		if (!lo_file->f_op->sendfile)
+		if (!file->f_op->sendfile)
 			goto out_putf;
 
 		if (!aops->prepare_write || !aops->commit_write)

_