]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: only do truncate on regular files
authorSage Weil <sage@newdream.net>
Mon, 1 Nov 2010 18:13:06 +0000 (11:13 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Tue, 2 Nov 2010 17:09:15 +0000 (10:09 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/client/Client.cc

index e103c59af21ea7640a5b4518aca130cfe72f3604..08850fc152964a454d139da8e75f351a064f6360 100644 (file)
@@ -372,10 +372,10 @@ void Client::update_inode_file_bits(Inode *in,
     }
   }
   if (truncate_seq >= in->truncate_seq &&
-      in->truncate_size != truncate_size) {
+      in->truncate_size != truncate_size &&
+      in->is_file()) {
     dout(10) << "truncate_size " << in->truncate_size << " -> "
             << truncate_size << dendl;
-    assert(in->is_file());
     in->truncate_size = truncate_size;
     in->oset.truncate_size = truncate_size;
     if (g_conf.client_oc && prior_size) { //do actual truncation