]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #12669 from hjwsm1989/unfound-objects
authorSage Weil <sage@newdream.net>
Tue, 2 May 2017 15:54:19 +0000 (10:54 -0500)
committerGitHub <noreply@github.com>
Tue, 2 May 2017 15:54:19 +0000 (10:54 -0500)
osd/PG: fix possible overflow on unfound objects

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
1  2 
src/osd/PG.cc
src/osd/PG.h
src/osd/PrimaryLogPG.cc

diff --cc src/osd/PG.cc
index 553be2ab1cc30fe5c451c3c3fe1a404c0bed5967,9661594fb1c56a8d69afd6a007e000c9aa26fdbc..ba15491bf53d3d678835135cab6b359752f38948
@@@ -479,9 -470,9 +479,9 @@@ bool PG::search_for_missing
    pg_shard_t from,
    RecoveryCtx *ctx)
  {
-   unsigned num_unfound_before = missing_loc.num_unfound();
+   uint64_t num_unfound_before = missing_loc.num_unfound();
    bool found_missing = missing_loc.add_source_info(
 -    from, oinfo, omissing, get_sort_bitwise(), ctx->handle);
 +    from, oinfo, omissing, ctx->handle);
    if (found_missing && num_unfound_before != missing_loc.num_unfound())
      publish_stats_to_osd();
    if (found_missing &&
diff --cc src/osd/PG.h
index 65423ac820874f03432c037e77712e7fb4206444,4e30023bdbf290e09e5d793528d5da36d9d6c37c..e14cbde46366a66565c7af4a13fbffaf72c3d26b
@@@ -1058,9 -1041,9 +1058,9 @@@ public
    void proc_primary_info(ObjectStore::Transaction &t, const pg_info_t &info);
  
    bool have_unfound() const { 
 -    return missing_loc.num_unfound() > 0;
 +    return missing_loc.have_unfound();
    }
-   int get_num_unfound() const {
+   uint64_t get_num_unfound() const {
      return missing_loc.num_unfound();
    }
  
Simple merge