diff options
Diffstat (limited to 'fs/ceph/decode.h')
| -rw-r--r-- | fs/ceph/decode.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ceph/decode.h b/fs/ceph/decode.h index 65b3e022eaf5..3d25415afe63 100644 --- a/fs/ceph/decode.h +++ b/fs/ceph/decode.h | |||
| @@ -99,11 +99,13 @@ static inline void ceph_encode_timespec(struct ceph_timespec *tv, | |||
| 99 | */ | 99 | */ |
| 100 | static inline void ceph_encode_addr(struct ceph_entity_addr *a) | 100 | static inline void ceph_encode_addr(struct ceph_entity_addr *a) |
| 101 | { | 101 | { |
| 102 | a->in_addr.ss_family = htons(a->in_addr.ss_family); | 102 | __be16 ss_family = htons(a->in_addr.ss_family); |
| 103 | a->in_addr.ss_family = *(__u16 *)&ss_family; | ||
| 103 | } | 104 | } |
| 104 | static inline void ceph_decode_addr(struct ceph_entity_addr *a) | 105 | static inline void ceph_decode_addr(struct ceph_entity_addr *a) |
| 105 | { | 106 | { |
| 106 | a->in_addr.ss_family = ntohs(a->in_addr.ss_family); | 107 | __be16 ss_family = *(__be16 *)&a->in_addr.ss_family; |
| 108 | a->in_addr.ss_family = ntohs(ss_family); | ||
| 107 | WARN_ON(a->in_addr.ss_family == 512); | 109 | WARN_ON(a->in_addr.ss_family == 512); |
| 108 | } | 110 | } |
| 109 | 111 | ||
