]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
uclient: Return ENOSPC if osdmap is marked full
authorGreg Farnum <gregf@hq.newdream.net>
Wed, 21 Oct 2009 23:53:09 +0000 (16:53 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Fri, 23 Oct 2009 21:14:46 +0000 (14:14 -0700)
src/client/Client.cc

index 0bc7f8ff173f65eb1c684093414b6c0447a3f0ba..54f1fc53c1419369eb30a1791e58043112d41948 100644 (file)
@@ -4513,6 +4513,10 @@ int Client::_write(Fh *f, __s64 offset, __u64 size, const char *buf)
 {
   if ((__u64)(offset+size) > mdsmap->get_max_filesize()) //too large!
     return -EFBIG;
+
+  if (osdmap->test_flag(CEPH_OSDMAP_FULL))
+    return -ENOSPC;
+
   //dout(7) << "write fh " << fh << " size " << size << " offset " << offset << dendl;
   Inode *in = f->inode;