New Defects reported by Coverity Scan for ceph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


Please find the latest report on new defect(s) introduced to ceph found with Coverity Scan.

Defect(s) Reported-by: Coverity Scan
Showing 20 of 38 defect(s)


** CID 717233:  Uninitialized scalar field  (UNINIT_CTOR)
/mds/Capability.h: 249 in Capability::Capability(CInode *, unsigned long, client_t)()

** CID 1238869:  Value not atomically updated  (ATOMICITY)
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()

** CID 1238870:  Unchecked return value  (CHECKED_RETURN)
/test/test_snap_mapper.cc: 562 in MapperVerifier::remove_oid()()

** CID 1238871:  Dereference after null check  (FORWARD_NULL)
/mds/Server.cc: 6988 in Server::do_rename_rollback(ceph::buffer::list &, int, std::tr1::shared_ptr<MDRequestImpl> &, bool)()
/mds/Server.cc: 7107 in Server::do_rename_rollback(ceph::buffer::list &, int, std::tr1::shared_ptr<MDRequestImpl> &, bool)()

** CID 1238872:  Unchecked return value  (CHECKED_RETURN)
/tools/ceph_objectstore_tool.cc: 1284 in do_import_rados(std::basic_string<char, std::char_traits<char>, std::allocator<char>>)()

** CID 1238873:  Unchecked return value  (CHECKED_RETURN)
/rbd_replay/Replayer.cc: 154 in rbd_replay::Replayer::run(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&)()

** CID 1238874:  Missing unlock  (LOCK)
/osdc/Objecter.cc: 1855 in Objecter::op_cancel(Objecter::OSDSession *, unsigned long, int)()

** CID 1238875:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7737 in ()

** CID 1238876:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7735 in ()

** CID 1238877:  Missing unlock  (LOCK)
/common/Timer.cc: 240 in RWTimer::shutdown()()

** CID 1238878:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7734 in ()

** CID 1238879:  Thread deadlock  (ORDER_REVERSAL)


** CID 1238880:  Thread deadlock  (ORDER_REVERSAL)



** CID 1238881:  Thread deadlock  (ORDER_REVERSAL)



** CID 1238882:  Thread deadlock  (ORDER_REVERSAL)


** CID 1238883:  Improper use of negative value  (NEGATIVE_RETURNS)
/mds/MDS.cc: 962 in MDS::handle_mds_map(MMDSMap *)()

** CID 1238884:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7733 in ()

** CID 1238885:  Thread deadlock  (ORDER_REVERSAL)


** CID 1238886:  Thread deadlock  (ORDER_REVERSAL)


** CID 1238887:  Thread deadlock  (ORDER_REVERSAL)



________________________________________________________________________________________________________
*** CID 717233:  Uninitialized scalar field  (UNINIT_CTOR)
/mds/Capability.h: 249 in Capability::Capability(CInode *, unsigned long, client_t)()
243         suppress(0), state(0),
244         client_follows(0), client_xattr_version(0),
245         client_inline_version(0),
246         item_session_caps(this), item_snaprealm_caps(this), item_revoking_caps(this) {
247         g_num_cap++;
248         g_num_capa++;
>>>     CID 717233:  Uninitialized scalar field  (UNINIT_CTOR)
>>>     Non-static class member "num_revoke_warnings" is not initialized in this constructor nor in any functions that it calls.
249       }
250       ~Capability() {
251         g_num_cap--;
252         g_num_caps++;
253       }
254     

________________________________________________________________________________________________________
*** CID 1238869:  Value not atomically updated  (ATOMICITY)
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()
3049         if (!rwlock.is_wlocked()) {
3050           rwlock.unlock();
3051           rwlock.get_write();
3052         }
3053         iter = pool_ops.find(tid);
3054         if (iter != pool_ops.end()) {
>>>     CID 1238869:  Value not atomically updated  (ATOMICITY)
>>>     Using an unreliable value of "op" inside the second locked section. If the data that "op" depends on was changed by another thread, this use might be incorrect.
3055           _finish_pool_op(op);
3056         }
3057       } else {
3058         ldout(cct, 10) << "unknown request " << tid << dendl;
3059       }
3060       rwlock.unlock();
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()
3049         if (!rwlock.is_wlocked()) {
3050           rwlock.unlock();
3051           rwlock.get_write();
3052         }
3053         iter = pool_ops.find(tid);
3054         if (iter != pool_ops.end()) {
>>>     CID 1238869:  Value not atomically updated  (ATOMICITY)
>>>     Using an unreliable value of "op" inside the second locked section. If the data that "op" depends on was changed by another thread, this use might be incorrect.
3055           _finish_pool_op(op);
3056         }
3057       } else {
3058         ldout(cct, 10) << "unknown request " << tid << dendl;
3059       }
3060       rwlock.unlock();
/osdc/Objecter.cc: 3055 in Objecter::handle_pool_op_reply(MPoolOpReply *)()
3049         if (!rwlock.is_wlocked()) {
3050           rwlock.unlock();
3051           rwlock.get_write();
3052         }
3053         iter = pool_ops.find(tid);
3054         if (iter != pool_ops.end()) {
>>>     CID 1238869:  Value not atomically updated  (ATOMICITY)
>>>     Using an unreliable value of "op" inside the second locked section. If the data that "op" depends on was changed by another thread, this use might be incorrect.
3055           _finish_pool_op(op);
3056         }
3057       } else {
3058         ldout(cct, 10) << "unknown request " << tid << dendl;
3059       }
3060       rwlock.unlock();

________________________________________________________________________________________________________
*** CID 1238870:  Unchecked return value  (CHECKED_RETURN)
/test/test_snap_mapper.cc: 562 in MapperVerifier::remove_oid()()
556     	snap_to_hobject.find(*i);
557           assert(j->second.count(obj->first));
558           j->second.erase(obj->first);
559         }
560         {
561           PausyAsyncMap::Transaction t;
>>>     CID 1238870:  Unchecked return value  (CHECKED_RETURN)
>>>     Calling "remove_oid" without checking return value (as is done elsewhere 8 out of 10 times).
562           mapper->remove_oid(
563     	obj->first,
564     	&t);
565           driver->submit(&t);
566         }
567         hobject_to_snap.erase(obj);

________________________________________________________________________________________________________
*** CID 1238871:  Dereference after null check  (FORWARD_NULL)
/mds/Server.cc: 6988 in Server::do_rename_rollback(ceph::buffer::list &, int, std::tr1::shared_ptr<MDRequestImpl> &, bool)()
6982       // slave
6983       assert(!destdn || destdn->authority().first != whoami);
6984       assert(!straydn || straydn->authority().first != whoami);
6985     
6986       bool force_journal_src = false;
6987       bool force_journal_dest = false;
>>>     CID 1238871:  Dereference after null check  (FORWARD_NULL)
>>>     Passing null pointer "srcdn" to "authority", which dereferences it. (The dereference happens because this is a virtual function call.)
6988       if (in && in->is_dir() && srcdn->authority().first != whoami)
6989         force_journal_src = _need_force_journal(in, false);
6990       if (in && target && target->is_dir())
6991         force_journal_dest = _need_force_journal(in, true);
6992       
6993       version_t srcdnpv = 0;
/mds/Server.cc: 7107 in Server::do_rename_rollback(ceph::buffer::list &, int, std::tr1::shared_ptr<MDRequestImpl> &, bool)()
7101         le->commit.add_primary_dentry(target->get_projected_parent_dn(), target, true);
7102       }
7103     
7104       if (force_journal_dest) {
7105         dout(10) << " noting rename target ino " << target->ino() << " in metablob" << dendl;
7106         le->commit.renamed_dirino = target->ino();
>>>     CID 1238871:  Dereference after null check  (FORWARD_NULL)
>>>     Passing null pointer "srcdn" to "authority", which dereferences it. (The dereference happens because this is a virtual function call.)
7107       } else if (force_journal_src || (in && in->is_dir() && srcdn->authority().first == whoami)) {
7108         dout(10) << " noting renamed dir ino " << in->ino() << " in metablob" << dendl;
7109         le->commit.renamed_dirino = in->ino();
7110       }
7111       
7112       if (target && target->is_dir()) {

________________________________________________________________________________________________________
*** CID 1238872:  Unchecked return value  (CHECKED_RETURN)
/tools/ceph_objectstore_tool.cc: 1284 in do_import_rados(std::basic_string<char, std::char_traits<char>, std::allocator<char>>)()
1278       }
1279       ret = cluster.conf_parse_env(NULL);
1280       if (ret) {
1281         cerr << "Error " << ret << " in cluster.conf_read_env" << std::endl;
1282         return ret;
1283       }
>>>     CID 1238872:  Unchecked return value  (CHECKED_RETURN)
>>>     Calling "connect" without checking return value (as is done elsewhere 14 out of 17 times).
1284       cluster.connect();
1285     
1286       ret = cluster.ioctx_create(pool.c_str(), ioctx);
1287       if (ret < 0) {
1288         cerr << "ioctx_create " << pool << " failed with " << ret << std::endl;
1289         return ret;

________________________________________________________________________________________________________
*** CID 1238873:  Unchecked return value  (CHECKED_RETURN)
/rbd_replay/Replayer.cc: 154 in rbd_replay::Replayer::run(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&)()
148       return m_action_trackers[id % m_num_action_trackers];
149     }
150     
151     void Replayer::run(const std::string& replay_file) {
152       {
153         librados::Rados rados;
>>>     CID 1238873:  Unchecked return value  (CHECKED_RETURN)
>>>     Calling "init" without checking return value (as is done elsewhere 11 out of 12 times).
154         rados.init(NULL);
155         int r = rados.init_with_context(g_ceph_context);
156         if (r) {
157           cerr << "Unable to read conf file: " << r << std::endl;
158           goto out;
159         }

________________________________________________________________________________________________________
*** CID 1238874:  Missing unlock  (LOCK)
/osdc/Objecter.cc: 1855 in Objecter::op_cancel(Objecter::OSDSession *, unsigned long, int)()
1849     
1850       s->lock.get_write();
1851     
1852       map<ceph_tid_t, Op*>::iterator p = s->ops.find(tid);
1853       if (p == s->ops.end()) {
1854         ldout(cct, 10) << __func__ << " tid " << tid << " dne" << dendl;
>>>     CID 1238874:  Missing unlock  (LOCK)
>>>     Returning without unlocking "s->lock.L".
1855         return -ENOENT;
1856       }
1857     
1858       if (s->con) {
1859         ldout(cct, 20) << " revoking rx buffer for " << tid
1860     		   << " on " << s->con << dendl;

________________________________________________________________________________________________________
*** CID 1238875:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7737 in ()
7731     const Client::VXattr Client::_dir_vxattrs[] = {
7732       {
7733         name: "ceph.dir.layout",
7734         getxattr_cb: &Client::_vxattrcb_layout,
7735         readonly: false,
7736         hidden: true,
>>>     CID 1238875:  Unrecoverable parse warning  (PARSE_ERROR)
>>>     designator may not specify a non-POD subobject
7737         exists_cb: &Client::_vxattrcb_layout_exists,
7738       },
7739       XATTR_LAYOUT_FIELD(dir, layout, stripe_unit),
7740       XATTR_LAYOUT_FIELD(dir, layout, stripe_count),
7741       XATTR_LAYOUT_FIELD(dir, layout, object_size),
7742       XATTR_LAYOUT_FIELD(dir, layout, pool),

________________________________________________________________________________________________________
*** CID 1238876:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7735 in ()
7729     }
7730     
7731     const Client::VXattr Client::_dir_vxattrs[] = {
7732       {
7733         name: "ceph.dir.layout",
7734         getxattr_cb: &Client::_vxattrcb_layout,
>>>     CID 1238876:  Unrecoverable parse warning  (PARSE_ERROR)
>>>     designator may not specify a non-POD subobject
7735         readonly: false,
7736         hidden: true,
7737         exists_cb: &Client::_vxattrcb_layout_exists,
7738       },
7739       XATTR_LAYOUT_FIELD(dir, layout, stripe_unit),
7740       XATTR_LAYOUT_FIELD(dir, layout, stripe_count),

________________________________________________________________________________________________________
*** CID 1238877:  Missing unlock  (LOCK)
/common/Timer.cc: 240 in RWTimer::shutdown()()
234         rwlock.unlock();
235         thread->join();
236         rwlock.get_write();
237         delete thread;
238         thread = NULL;
239       }
>>>     CID 1238877:  Missing unlock  (LOCK)
>>>     Returning without unlocking "this->rwlock->L".
240     }
241     
242     void RWTimer::timer_thread()
243     {
244       rwlock.get_write();
245       ldout(cct,10) << "timer_thread starting" << dendl;

________________________________________________________________________________________________________
*** CID 1238878:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7734 in ()
7728       exists_cb: &Client::_vxattrcb_layout_exists,			\
7729     }
7730     
7731     const Client::VXattr Client::_dir_vxattrs[] = {
7732       {
7733         name: "ceph.dir.layout",
>>>     CID 1238878:  Unrecoverable parse warning  (PARSE_ERROR)
>>>     designator may not specify a non-POD subobject
7734         getxattr_cb: &Client::_vxattrcb_layout,
7735         readonly: false,
7736         hidden: true,
7737         exists_cb: &Client::_vxattrcb_layout_exists,
7738       },
7739       XATTR_LAYOUT_FIELD(dir, layout, stripe_unit),

________________________________________________________________________________________________________
*** CID 1238879:  Thread deadlock  (ORDER_REVERSAL)
/librados/IoCtxImpl.cc: 1122 in librados::IoCtxImpl::notify(const object_t &, unsigned long, ceph::buffer::list &)()
1116       prepare_assert_ops(&rd);
1117       rd.notify(cookie, ver, inbl);
1118     
1119       // Issue RADOS op
1120       C_SaferCond onack;
1121       version_t objver;
>>>     CID 1238879:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "linger_read" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
1122       wc->linger_id = objecter->linger_read(oid, oloc, rd, snap_seq, inbl, NULL, 0,
1123     					&onack, &objver);
1124       lock->Unlock();
1125     
1126       ldout(client->cct, 10) << __func__ << " issued linger op " << wc->linger_id << dendl;
1127       int r_issue = onack.wait();

________________________________________________________________________________________________________
*** CID 1238880:  Thread deadlock  (ORDER_REVERSAL)
/test/osd/RadosModel.h: 728 in WriteOp::_begin()()
722         if (do_append) {
723           ObjectDesc old_value;
724           bool found = context->find_object(oid, &old_value);
725           uint64_t prev_length = found && old_value.has_contents() ?
726     	old_value.most_recent_gen()->get_length(old_value.most_recent()) :
727     	0;
>>>     CID 1238880:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "pool_required_alignment" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
728           cont_gen = new AppendGenerator(
729     	prev_length,
730     	(context->io_ctx.pool_requires_alignment() ?
731     	 context->io_ctx.pool_required_alignment() : 0),
732     	context->min_stride_size,
733     	context->max_stride_size,
/test/osd/RadosModel.h: 728 in WriteOp::_begin()()
722         if (do_append) {
723           ObjectDesc old_value;
724           bool found = context->find_object(oid, &old_value);
725           uint64_t prev_length = found && old_value.has_contents() ?
726     	old_value.most_recent_gen()->get_length(old_value.most_recent()) :
727     	0;
>>>     CID 1238880:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "pool_requires_alignment" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
728           cont_gen = new AppendGenerator(
729     	prev_length,
730     	(context->io_ctx.pool_requires_alignment() ?
731     	 context->io_ctx.pool_required_alignment() : 0),
732     	context->min_stride_size,
733     	context->max_stride_size,

________________________________________________________________________________________________________
*** CID 1238881:  Thread deadlock  (ORDER_REVERSAL)
/test/osd/RadosModel.h: 1251 in SnapRemoveOp::_begin()()
1245         uint64_t snap = context->snaps[to_remove];
1246         context->remove_snap(to_remove);
1247     
1248         if (context->pool_snaps) {
1249           string snapname;
1250     
>>>     CID 1238881:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "snap_get_name" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
1251           assert(!context->io_ctx.snap_get_name(snap, &snapname));
1252           assert(!context->io_ctx.snap_remove(snapname.c_str()));
1253          } else {
1254           assert(!context->io_ctx.selfmanaged_snap_remove(snap));
1255     
1256           vector<uint64_t> snapset(context->snaps.size());
/test/osd/RadosModel.h: 1252 in SnapRemoveOp::_begin()()
1246         context->remove_snap(to_remove);
1247     
1248         if (context->pool_snaps) {
1249           string snapname;
1250     
1251           assert(!context->io_ctx.snap_get_name(snap, &snapname));
>>>     CID 1238881:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "snap_remove" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
1252           assert(!context->io_ctx.snap_remove(snapname.c_str()));
1253          } else {
1254           assert(!context->io_ctx.selfmanaged_snap_remove(snap));
1255     
1256           vector<uint64_t> snapset(context->snaps.size());
1257           int j = 0;

________________________________________________________________________________________________________
*** CID 1238882:  Thread deadlock  (ORDER_REVERSAL)
/librados/RadosClient.cc: 786 in librados::RadosClient::osd_command(int, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>> &, const ceph::buffer::list &, ceph::buffer::list *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)()
780     
781       if (osd < 0)
782         return -EINVAL;
783     
784       lock.Lock();
785       // XXX do anything with tid?
>>>     CID 1238882:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "osd_command" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
786       int r = objecter->osd_command(osd, cmd, inbl, &tid, poutbl, prs,
787     			 new C_SafeCond(&mylock, &cond, &done, &ret));
788       lock.Unlock();
789       if (r != 0)
790         return r;
791       mylock.Lock();

________________________________________________________________________________________________________
*** CID 1238883:  Improper use of negative value  (NEGATIVE_RETURNS)
/mds/MDS.cc: 962 in MDS::handle_mds_map(MMDSMap *)()
956       }
957     
958       // see who i am
959       addr = messenger->get_myaddr();
960       whoami = mdsmap->get_rank_gid(monc->get_global_id());
961       state = mdsmap->get_state_gid(monc->get_global_id());
>>>     CID 1238883:  Improper use of negative value  (NEGATIVE_RETURNS)
>>>     Assigning: signed variable "this->incarnation" = "get_inc_gid".
962       incarnation = mdsmap->get_inc_gid(monc->get_global_id());
963       dout(10) << "map says i am " << addr << " mds." << whoami << "." << incarnation
964     	   << " state " << ceph_mds_state_name(state) << dendl;
965     
966       // mark down any failed peers
967       for (map<uint64_t,MDSMap::mds_info_t>::const_iterator p = oldmap->get_mds_info().begin();

________________________________________________________________________________________________________
*** CID 1238884:  Unrecoverable parse warning  (PARSE_ERROR)
/client/Client.cc: 7733 in ()
7727       hidden: true,							\
7728       exists_cb: &Client::_vxattrcb_layout_exists,			\
7729     }
7730     
7731     const Client::VXattr Client::_dir_vxattrs[] = {
7732       {
>>>     CID 1238884:  Unrecoverable parse warning  (PARSE_ERROR)
>>>     designator may not specify a non-POD subobject
7733         name: "ceph.dir.layout",
7734         getxattr_cb: &Client::_vxattrcb_layout,
7735         readonly: false,
7736         hidden: true,
7737         exists_cb: &Client::_vxattrcb_layout_exists,
7738       },

________________________________________________________________________________________________________
*** CID 1238885:  Thread deadlock  (ORDER_REVERSAL)
/librados/RadosClient.cc: 702 in librados::RadosClient::do_watch_notify(MWatchNotify *)()
696           // trigger the callback
697           lock.Unlock();
698           wc->watch_ctx->notify(m->opcode, m->ver, m->bl);
699           lock.Lock();
700     
701           // send ACK back to the OSD
>>>     CID 1238885:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "_notify_ack" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
702           wc->io_ctx_impl->_notify_ack(wc->oid, m->notify_id, m->ver, m->cookie);
703     
704           ldout(cct,10) << __func__ << " notify done" << dendl;
705           wc->put();
706         }
707       } else {

________________________________________________________________________________________________________
*** CID 1238886:  Thread deadlock  (ORDER_REVERSAL)
/client/SyntheticClient.cc: 2391 in SyntheticClient::object_rw(int, int, int, int, double, double)()
2385           m.ops.push_back(op);
2386           if (do_sync) {
2387             OSDOp op;
2388             op.op.op = CEPH_OSD_OP_STARTSYNC;
2389     	m.ops.push_back(op);
2390           }
>>>     CID 1238886:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "mutate" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
2391           client->objecter->mutate(oid, oloc, m, snapc, ceph_clock_now(client->cct), 0,
2392     			       NULL, new C_Ref(lock, cond, &unack));
2393           /*client->objecter->write(oid, layout, 0, osize, snapc, bl, 0,
2394     			      new C_Ref(lock, cond, &unack),
2395     			      new C_Ref(lock, cond, &unsafe));*/
2396         } else {

________________________________________________________________________________________________________
*** CID 1238887:  Thread deadlock  (ORDER_REVERSAL)
/librados/RadosClient.cc: 808 in librados::RadosClient::pg_command(pg_t, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>> &, const ceph::buffer::list &, ceph::buffer::list *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)()
802       Mutex mylock("RadosClient::pg_command::mylock");
803       Cond cond;
804       bool done;
805       int ret;
806       ceph_tid_t tid;
807       lock.Lock();
>>>     CID 1238887:  Thread deadlock  (ORDER_REVERSAL)
>>>     Calling "pg_command" acquires lock "RWLock.L" while holding lock "Mutex._m" (count: 14 / 29).
808       int r = objecter->pg_command(pgid, cmd, inbl, &tid, poutbl, prs,
809     		        new C_SafeCond(&mylock, &cond, &done, &ret));
810       lock.Unlock();
811       if (r != 0)
812         return r;
813       mylock.Lock();


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/25?tab=overview

To unsubscribe from the email notification for new defects, http://scan5.coverity.com/cgi-bin/unsubscribe.py



--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux