OSDN Git Service

libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc
authorSage Weil <sage@inktank.com>
Thu, 29 Aug 2013 00:17:29 +0000 (17:17 -0700)
committerSage Weil <sage@inktank.com>
Wed, 4 Sep 2013 05:08:10 +0000 (22:08 -0700)
Fix a typo that used the wrong bitmask for the pg.seed calculation.  This
is normally unnoticed because in most cases pg_num == pgp_num.  It is, however,
a bug that is easily corrected.

CC: stable@vger.kernel.org
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <alex.elder@linary.org>
net/ceph/osdmap.c

index 603ddd9..dbd9a47 100644 (file)
@@ -1129,7 +1129,7 @@ static int *calc_pg_raw(struct ceph_osdmap *osdmap, struct ceph_pg pgid,
 
        /* pg_temp? */
        pgid.seed = ceph_stable_mod(pgid.seed, pool->pg_num,
-                                   pool->pgp_num_mask);
+                                   pool->pg_num_mask);
        pg = __lookup_pg_mapping(&osdmap->pg_temp, pgid);
        if (pg) {
                *num = pg->len;