diff options
author | Chris Malley <mail@chrismalley.co.uk> | 2007-09-26 00:19:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-09-26 12:22:04 -0400 |
commit | f6a592e8abd2f2394623ce5427cbb4c265495974 (patch) | |
tree | ff5e176b3ee0832978babae80bb13f32c8a77699 | |
parent | 78bd8fbbcd66fc977baa40e7fd838a4461b0f727 (diff) |
lguest example launcher truncates block device file to 0 length on problems
The function should also use ftruncate64() rather than ftruncate() to prevent
files over 4GB (not uncommon for a root filesystem) being zeroed.
Signed-off-by: Chris Malley <mail@chrismalley.co.uk>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | Documentation/lguest/lguest.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c index f7918401a007..73c5f1f3d5d2 100644 --- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c | |||
@@ -882,7 +882,7 @@ static u32 handle_block_output(int fd, const struct iovec *iov, | |||
882 | * of the block file (possibly extending it). */ | 882 | * of the block file (possibly extending it). */ |
883 | if (off + len > device_len) { | 883 | if (off + len > device_len) { |
884 | /* Trim it back to the correct length */ | 884 | /* Trim it back to the correct length */ |
885 | ftruncate(dev->fd, device_len); | 885 | ftruncate64(dev->fd, device_len); |
886 | /* Die, bad Guest, die. */ | 886 | /* Die, bad Guest, die. */ |
887 | errx(1, "Write past end %llu+%u", off, len); | 887 | errx(1, "Write past end %llu+%u", off, len); |
888 | } | 888 | } |