Skip to content

Commit eb24fdd

Browse files
committed
Merge tag 'ceph-for-5.7-rc5' of git://github.com/ceph/ceph-client
Pull ceph fixes from Ilya Dryomov: "Fixes for an endianness handling bug that prevented mounts on big-endian arches, a spammy log message and a couple error paths. Also included a MAINTAINERS update" * tag 'ceph-for-5.7-rc5' of git://github.com/ceph/ceph-client: ceph: demote quotarealm lookup warning to a debug message MAINTAINERS: remove myself as ceph co-maintainer ceph: fix double unlock in handle_cap_export() ceph: fix special error code in ceph_try_get_caps() ceph: fix endianness bug when handling MDS session feature bits
2 parents 4334f30 + 12ae44a commit eb24fdd

File tree

4 files changed

+7
-14
lines changed

4 files changed

+7
-14
lines changed

MAINTAINERS

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3936,24 +3936,20 @@ F: arch/powerpc/platforms/cell/
39363936
CEPH COMMON CODE (LIBCEPH)
39373937
M: Ilya Dryomov <[email protected]>
39383938
M: Jeff Layton <[email protected]>
3939-
M: Sage Weil <[email protected]>
39403939
39413940
S: Supported
39423941
W: http://ceph.com/
3943-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
39443942
T: git git://github.com/ceph/ceph-client.git
39453943
F: include/linux/ceph/
39463944
F: include/linux/crush/
39473945
F: net/ceph/
39483946

39493947
CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
39503948
M: Jeff Layton <[email protected]>
3951-
M: Sage Weil <[email protected]>
39523949
M: Ilya Dryomov <[email protected]>
39533950
39543951
S: Supported
39553952
W: http://ceph.com/
3956-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
39573953
T: git git://github.com/ceph/ceph-client.git
39583954
F: Documentation/filesystems/ceph.rst
39593955
F: fs/ceph/
@@ -14098,12 +14094,10 @@ F: drivers/media/radio/radio-tea5777.c
1409814094

1409914095
RADOS BLOCK DEVICE (RBD)
1410014096
M: Ilya Dryomov <[email protected]>
14101-
M: Sage Weil <[email protected]>
1410214097
R: Dongsheng Yang <[email protected]>
1410314098
1410414099
S: Supported
1410514100
W: http://ceph.com/
14106-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
1410714101
T: git git://github.com/ceph/ceph-client.git
1410814102
F: Documentation/ABI/testing/sysfs-bus-rbd
1410914103
F: drivers/block/rbd.c

fs/ceph/caps.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2749,7 +2749,7 @@ int ceph_try_get_caps(struct inode *inode, int need, int want,
27492749

27502750
ret = try_get_cap_refs(inode, need, want, 0, flags, got);
27512751
/* three special error codes */
2752-
if (ret == -EAGAIN || ret == -EFBIG || ret == -EAGAIN)
2752+
if (ret == -EAGAIN || ret == -EFBIG || ret == -ESTALE)
27532753
ret = 0;
27542754
return ret;
27552755
}
@@ -3746,6 +3746,7 @@ static void handle_cap_export(struct inode *inode, struct ceph_mds_caps *ex,
37463746
WARN_ON(1);
37473747
tsession = NULL;
37483748
target = -1;
3749+
mutex_lock(&session->s_mutex);
37493750
}
37503751
goto retry;
37513752

fs/ceph/mds_client.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3251,8 +3251,7 @@ static void handle_session(struct ceph_mds_session *session,
32513251
void *end = p + msg->front.iov_len;
32523252
struct ceph_mds_session_head *h;
32533253
u32 op;
3254-
u64 seq;
3255-
unsigned long features = 0;
3254+
u64 seq, features = 0;
32563255
int wake = 0;
32573256
bool blacklisted = false;
32583257

@@ -3271,9 +3270,8 @@ static void handle_session(struct ceph_mds_session *session,
32713270
goto bad;
32723271
/* version >= 3, feature bits */
32733272
ceph_decode_32_safe(&p, end, len, bad);
3274-
ceph_decode_need(&p, end, len, bad);
3275-
memcpy(&features, p, min_t(size_t, len, sizeof(features)));
3276-
p += len;
3273+
ceph_decode_64_safe(&p, end, features, bad);
3274+
p += len - sizeof(features);
32773275
}
32783276

32793277
mutex_lock(&mdsc->mutex);

fs/ceph/quota.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ static struct inode *lookup_quotarealm_inode(struct ceph_mds_client *mdsc,
159159
}
160160

161161
if (IS_ERR(in)) {
162-
pr_warn("Can't lookup inode %llx (err: %ld)\n",
163-
realm->ino, PTR_ERR(in));
162+
dout("Can't lookup inode %llx (err: %ld)\n",
163+
realm->ino, PTR_ERR(in));
164164
qri->timeout = jiffies + msecs_to_jiffies(60 * 1000); /* XXX */
165165
} else {
166166
qri->timeout = 0;

0 commit comments

Comments
 (0)