X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fiface-file.c;h=091c773cd6d0c0752b3fdaf92dd66c5e708afb24;hb=f7e4262b2d65bbe3eb0c21ab3a6c4bb185531af7;hp=39f909b06c152e2359fb75544d95bc80d9c164b0;hpb=90e82a7c376407109280c73fb6634bcb48b569f1;p=palacios.git diff --git a/linux_module/iface-file.c b/linux_module/iface-file.c index 39f909b..091c773 100644 --- a/linux_module/iface-file.c +++ b/linux_module/iface-file.c @@ -243,7 +243,7 @@ static int palacios_file_close(void * file_ptr) { return 0; } -static long long palacios_file_size(void * file_ptr) { +static unsigned long long palacios_file_size(void * file_ptr) { struct palacios_file * pfile = (struct palacios_file *)file_ptr; struct file * filp = pfile->filp; struct kstat s; @@ -259,7 +259,7 @@ static long long palacios_file_size(void * file_ptr) { return s.size; } -static long long palacios_file_read(void * file_ptr, void * buffer, long long length, long long offset){ +static unsigned long long palacios_file_read(void * file_ptr, void * buffer, unsigned long long length, unsigned long long offset){ struct palacios_file * pfile = (struct palacios_file *)file_ptr; struct file * filp = pfile->filp; ssize_t ret; @@ -273,14 +273,14 @@ static long long palacios_file_read(void * file_ptr, void * buffer, long long le set_fs(old_fs); if (ret <= 0) { - printk("sys_read of %p for %lld bytes failed\n", filp, length); + printk("sys_read of %p for %lld bytes at offset %llu failed (ret=%ld)\n", filp, length, offset, ret); } return ret; } -static long long palacios_file_write(void * file_ptr, void * buffer, long long length, long long offset) { +static unsigned long long palacios_file_write(void * file_ptr, void * buffer, unsigned long long length, unsigned long long offset) { struct palacios_file * pfile = (struct palacios_file *)file_ptr; struct file * filp = pfile->filp; mm_segment_t old_fs; @@ -295,7 +295,7 @@ static long long palacios_file_write(void * file_ptr, void * buffer, long long l if (ret <= 0) { - printk("sys_write failed\n"); + printk("sys_write for %llu bytes at offset %llu failed (ret=%ld)\n", length, offset, ret); } return ret; @@ -344,6 +344,7 @@ static int guest_file_init(struct v3_guest * guest, void ** vm_data) { static int guest_file_deinit(struct v3_guest * guest, void * vm_data) { + kfree(vm_data); return 0; }