]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix max_size==1 bug
authorSage Weil <sage@newdream.net>
Fri, 7 May 2010 22:57:37 +0000 (15:57 -0700)
committerSage Weil <sage@newdream.net>
Fri, 7 May 2010 22:57:55 +0000 (15:57 -0700)
We should provide a minimum of one stripe unit.

src/mds/Locker.cc

index c0942557a83cc8dc6f95ff606ac17bc9b4c6ac94..7fedf8bcc7cbd44a73d13ecfe7a66679dc08f1fe 100644 (file)
@@ -1919,8 +1919,10 @@ bool Locker::_do_cap_update(CInode *in, Capability *cap,
        change_max = true;
        new_max = ROUND_UP_TO((m->get_max_size()+1) << 1, latest->get_layout_size_increment());
       } else {
-       //new_max = ROUND_UP_TO((size+1)<<1, latest->get_layout_size_increment());
        new_max = calc_bounding(size * 2);
+       if (new_max < latest->get_layout_size_increment())
+         new_max = latest->get_layout_size_increment();
+
        if (new_max > old_max)
          change_max = true;
        else