]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: declare wanted_max_size properly
authorSage Weil <sage@newdream.net>
Wed, 23 Apr 2008 02:15:56 +0000 (19:15 -0700)
committerSage Weil <sage@newdream.net>
Wed, 23 Apr 2008 02:15:56 +0000 (19:15 -0700)
src/kernel/file.c

index 2936309c5889628d94bb8944c726e770e7b8a54e..f4fef576f8a5edf91ee45aaee28582e3650d69cf 100644 (file)
@@ -291,7 +291,7 @@ ssize_t ceph_write(struct file *filp, const char __user *buf,
            *ppos > ci->i_wanted_max_size) {
                dout(10, "write %p at large offset %llu, requesting max_size\n",
                     inode, *ppos);
-               ci->i_wanted_max_size = *ppos;
+               ci->i_wanted_max_size = *ppos+len;
                check = 1;
        }
        spin_unlock(&inode->i_lock);
@@ -303,7 +303,7 @@ ssize_t ceph_write(struct file *filp, const char __user *buf,
        ret = wait_event_interruptible(ci->i_cap_wq,
                                       ceph_get_cap_refs(ci, CEPH_CAP_WR,
                                                         CEPH_CAP_WRBUFFER,
-                                                        &got, *ppos));
+                                                        &got, *ppos+len));
        if (ret < 0)
                goto out;
        dout(10, "write %p %llu~%u  got cap refs on %d\n",