Skip to contentSkip to conversation

ceph: silence sparse endianness warning in encode_caps_cb

PATCH In review Jeff Layton 2 participants 2 messages Oct 31, 2017 – Nov 1, 2017 Ceph client

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ceph: silence sparse endianness warning in encode_caps_cb

From: Jeff Layton <[email protected]>

fs/ceph/mds_client.c:2887:34: warning: incorrect type in assignment (different base types)
fs/ceph/mds_client.c:2887:34: expected restricted __le32 [assigned] [usertype] flock_len
fs/ceph/mds_client.c:2887:34: got int

At this point, it's just being used as a flag. It gets overwritten later if the rest of the encoding succeeds.

---
 fs/ceph/mds_client.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
fs/ceph/mds_client.c +2 -2
index f5b1e8d73e85..927afb612e43 100644
@@ -2884,8 +2884,8 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap,
 		rec.v2.issued = cpu_to_le32(cap->issued);
 		rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
 		rec.v2.pathbase = cpu_to_le64(pathbase);
-		rec.v2.flock_len =
-			(ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1;
+		rec.v2.flock_len = (__force __le32)
+			((ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1);
 	} else {
 		rec.v1.cap_id = cpu_to_le64(cap->cap_id);
 		rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
Signature · 1 line
2.13.6
Reviewed-by on v1 1/1
#1 lore raw
Quoted 23 lines · Jeff Layton

From: Jeff Layton <[email protected]>

fs/ceph/mds_client.c:2887:34: warning: incorrect type in assignment (different base types)
fs/ceph/mds_client.c:2887:34: expected restricted __le32 [assigned] [usertype] flock_len
fs/ceph/mds_client.c:2887:34: got int

At this point, it's just being used as a flag. It gets overwritten later if the rest of the encoding succeeds.

---
fs/ceph/mds_client.c | 4 ++--

1 file changed, 2 insertions(+), 2 deletions(-)
fs/ceph/mds_client.c +0 -0
index f5b1e8d73e85..927afb612e43 100644

fs/ceph/mds_client.c static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, · line 2891

Quoted 10 lines
fs/ceph/mds_client.c +2 -2
@@ -2884,8 +2884,8 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap,
 		rec.v2.issued = cpu_to_le32(cap->issued);
 		rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
 		rec.v2.pathbase = cpu_to_le64(pathbase);
-		rec.v2.flock_len =
-			(ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1;
+		rec.v2.flock_len = (__force __le32)
+			((ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1);
 	} else {
 		rec.v1.cap_id = cpu_to_le64(cap->cap_id);
 		rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
Quoted 3 lines
Signature · 1 line
2.13.6