From 4a29806e14cb52d584ba23399efd24483ae5c1b7 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Thu, 25 Aug 2016 14:43:41 +0800 Subject: [PATCH] os/bluestore/bluefs: assert refs of file don't underflow Signed-off-by: xie xingguo --- src/os/bluestore/BlueFS.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 49b1485344b..f2e358a0233 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -670,6 +670,7 @@ int BlueFS::_replay(bool noop) assert(q != dir_map.end()); map::iterator r = q->second->file_map.find(filename); assert(r != q->second->file_map.end()); + assert(r->second->refs > 0); --r->second->refs; q->second->file_map.erase(r); } @@ -788,6 +789,7 @@ void BlueFS::_drop_link(FileRef file) { dout(20) << __func__ << " had refs " << file->refs << " on " << file->fnode << dendl; + assert(file->refs > 0); --file->refs; if (file->refs == 0) { dout(20) << __func__ << " destroying " << file->fnode << dendl; -- 2.39.5