Skip to content

Commit

Permalink
rgw_file: add pretty-print for RGWFileHandle
Browse files Browse the repository at this point in the history
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
  • Loading branch information
mattbenjamin committed Feb 13, 2017
1 parent df2e1fd commit ef330f3
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/rgw/rgw_file.cc
Expand Up @@ -720,6 +720,31 @@ namespace rgw {
} while (! (stop || shutdown));
} /* RGWLibFS::gc */

std::ostream& operator<<(std::ostream &os,
RGWFileHandle const &rgw_fh)
{
const auto& fhk = rgw_fh.get_key();
const auto& fh = const_cast<RGWFileHandle&>(rgw_fh).get_fh();
os << "<RGWFileHandle:";
os << "addr=" << &rgw_fh;
switch (fh->fh_type) {
case RGW_FS_TYPE_DIRECTORY:
os << "type=DIRECTORY;";
break;
case RGW_FS_TYPE_FILE:
os << "type=FILE;";
break;
default:
os << "type=UNKNOWN;";
break;
};
os << "fid=" << fhk.fh_hk.bucket << ":" << fhk.fh_hk.object << ";";
os << "name=" << rgw_fh.object_name() << ";";
os << "refcnt=" << rgw_fh.get_refcnt() << ";";
os << ">";
return os;
}

RGWFileHandle::~RGWFileHandle() {
if (parent && (! parent->is_root())) {
/* safe because if parent->unref causes its deletion,
Expand Down
3 changes: 3 additions & 0 deletions src/rgw/rgw_file.h
Expand Up @@ -642,6 +642,9 @@ namespace rgw {

virtual ~RGWFileHandle();

friend std::ostream& operator<<(std::ostream &os,
RGWFileHandle const &rgw_fh);

class Factory : public cohort::lru::ObjectFactory
{
public:
Expand Down

0 comments on commit ef330f3

Please sign in to comment.