]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/vhost/vhost.c
vhost: correctly set bits of dirty pages
[mv-sheeva.git] / drivers / vhost / vhost.c
index 916cdbc279e09949283da8c86e08118dca7579ea..4c256d15c249971cdda20792ed7828cdde1c672e 100644 (file)
@@ -885,6 +885,7 @@ static int log_write(void __user *log_base,
        int r;
        if (!write_length)
                return 0;
+       write_length += write_address % VHOST_PAGE_SIZE;
        write_address /= VHOST_PAGE_SIZE;
        for (;;) {
                u64 base = (u64)(unsigned long)log_base;
@@ -898,7 +899,7 @@ static int log_write(void __user *log_base,
                if (write_length <= VHOST_PAGE_SIZE)
                        break;
                write_length -= VHOST_PAGE_SIZE;
-               write_address += VHOST_PAGE_SIZE;
+               write_address += 1;
        }
        return r;
 }