diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-05 18:17:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-05 18:17:02 -0400 |
commit | 5575eeb7b9f687ca4899e2d8721a9b17265d0060 (patch) | |
tree | f105b068410e48f5b2d65e85802a9d4bfa3e0638 /net | |
parent | 0624bcaaf06c1fe5aca4e72287a3f13026764d36 (diff) | |
parent | 3bd58143bafc56dbc07f4f085e4d7e018d332674 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph fixes from Sage Weil:
"First, there is a critical fix for the new primary-affinity function
that went into -rc1.
The second batch of patches from Zheng fix a range of problems with
directory fragmentation, readdir, and a few odds and ends for cephfs"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: reserve caps for file layout/lock MDS requests
ceph: avoid releasing caps that are being used
ceph: clear directory's completeness when creating file
libceph: fix non-default values check in apply_primary_affinity()
ceph: use fpos_cmp() to compare dentry positions
ceph: check directory's completeness before emitting directory entry
Diffstat (limited to 'net')
-rw-r--r-- | net/ceph/osdmap.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c index e632b5a52f5b..8b8a5a24b223 100644 --- a/net/ceph/osdmap.c +++ b/net/ceph/osdmap.c | |||
@@ -1548,8 +1548,10 @@ static void apply_primary_affinity(struct ceph_osdmap *osdmap, u32 pps, | |||
1548 | return; | 1548 | return; |
1549 | 1549 | ||
1550 | for (i = 0; i < len; i++) { | 1550 | for (i = 0; i < len; i++) { |
1551 | if (osds[i] != CRUSH_ITEM_NONE && | 1551 | int osd = osds[i]; |
1552 | osdmap->osd_primary_affinity[i] != | 1552 | |
1553 | if (osd != CRUSH_ITEM_NONE && | ||
1554 | osdmap->osd_primary_affinity[osd] != | ||
1553 | CEPH_OSD_DEFAULT_PRIMARY_AFFINITY) { | 1555 | CEPH_OSD_DEFAULT_PRIMARY_AFFINITY) { |
1554 | break; | 1556 | break; |
1555 | } | 1557 | } |
@@ -1563,10 +1565,9 @@ static void apply_primary_affinity(struct ceph_osdmap *osdmap, u32 pps, | |||
1563 | * osd's pgs get rejected as primary. | 1565 | * osd's pgs get rejected as primary. |
1564 | */ | 1566 | */ |
1565 | for (i = 0; i < len; i++) { | 1567 | for (i = 0; i < len; i++) { |
1566 | int osd; | 1568 | int osd = osds[i]; |
1567 | u32 aff; | 1569 | u32 aff; |
1568 | 1570 | ||
1569 | osd = osds[i]; | ||
1570 | if (osd == CRUSH_ITEM_NONE) | 1571 | if (osd == CRUSH_ITEM_NONE) |
1571 | continue; | 1572 | continue; |
1572 | 1573 | ||