Skip to content

Commit

Permalink
deny partial write for loop dev fd
Browse files Browse the repository at this point in the history
Partial write can be easily supported by LO_CRYPT_NONE mode, but it is not
easy in LO_CRYPT_CRYPTOAPI case, because of its block nature.  I don't know
who still used cryptoapi, but theoretically it is possible.  So let's leave
things as they are.  Loop device doesn't support partial write before
Nick's "write_begin/write_end" patch set, and let's it behave the same way
after.

Signed-off-by: Dmitriy Monakhov <dmonakhov@openvz.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Dmitry Monakhov authored and Linus Torvalds committed Oct 16, 2007
1 parent afddba4 commit 8268f5a
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions drivers/block/loop.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,8 @@ static int do_lo_send_aops(struct loop_device *lo, struct bio_vec *bvec,

ret = pagecache_write_end(file, mapping, pos, size, copied,
page, fsdata);
if (ret < 0)
if (ret < 0 || ret != copied)
goto fail;
if (ret < copied)
copied = ret;

if (unlikely(transfer_result))
goto fail;
Expand Down

0 comments on commit 8268f5a

Please sign in to comment.