]> git.apps.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:37 +0000 (15:57 -0700)
We should provide a minimum of one stripe unit.

src/mds/Locker.cc

index e2fcd528c6cfbc6f1253a357fbf80f22b2de5544..94637af409590a6857f594c17c72ec8de4a14432 100644 (file)
@@ -1915,8 +1915,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