deny partial write for loop dev fd
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>
This commit is contained in:
parent
afddba49d1
commit
8268f5a741
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user