From patchwork Thu Nov 1 13:59:10 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 1685131 Return-Path: X-Original-To: patchwork-ceph-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 5860CDFE75 for ; Thu, 1 Nov 2012 13:59:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761236Ab2KAN7N (ORCPT ); Thu, 1 Nov 2012 09:59:13 -0400 Received: from mail-ia0-f174.google.com ([209.85.210.174]:45620 "EHLO mail-ia0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757384Ab2KAN7N (ORCPT ); Thu, 1 Nov 2012 09:59:13 -0400 Received: by mail-ia0-f174.google.com with SMTP id y32so1924632iag.19 for ; Thu, 01 Nov 2012 06:59:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding:x-gm-message-state; bh=9CRIs0Xnyj6RABhs3hNTvovaRw5q0V29hL8qdiEF44M=; b=cjDDKvtdJAtcwVnp3PhzPXojzBGN9CEjovfHhLmZOCMWsbg5FMb7tUyOzVeouOf8DM 8fX2iRbhMvYPkfY2QcJuxlgR1B/qXoiNZvaUc5mqO04H6fDl7LwQ7FkVsi0OR0x78lgN N9W/CD4uwCXTF2EewRZiyvOrV9i7BOSyMjNDJVZ6kqsBmzdSXpZKFttteW5w9RshitQf Yhm2I2ZAHook46Q8kbWD3ZuIlVI9uKNhegMhQyyj/32yDD/M88nxfOdaIjQ0nOsXri2b f8koK/nl135LXGBPZdd/VdVx0T5Ow1BlBTDzT+TRMV8k/wdUeOQ+/5PCKR7oKn1f8JcH Eq8Q== Received: by 10.50.37.168 with SMTP id z8mr1385193igj.1.1351778352586; Thu, 01 Nov 2012 06:59:12 -0700 (PDT) Received: from [172.22.22.4] (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPS id pq3sm12948275igc.8.2012.11.01.06.59.11 (version=SSLv3 cipher=OTHER); Thu, 01 Nov 2012 06:59:11 -0700 (PDT) Message-ID: <5092802E.50607@inktank.com> Date: Thu, 01 Nov 2012 08:59:10 -0500 From: Alex Elder User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121028 Thunderbird/16.0.2 MIME-Version: 1.0 To: ceph-devel@vger.kernel.org Subject: [PATCH] ceph: define ceph_encode_8_safe() X-Gm-Message-State: ALoCoQkTVbWSiiCOX9pT0mKD4BUUKvQeR/mi4SZPjdhaQ5T6hQhUBT1tLsCxuaVOqr1c/1wktquH Sender: ceph-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: ceph-devel@vger.kernel.org It's kind of a silly macro, but ceph_encode_8_safe() is the only one missing from an otherwise pretty complete set. It's not used, but neither are a couple of the others in this set. While in there, insert some whitespace to tidy up the alignment of the line-terminating backslashes in some of the macro definitions. Signed-off-by: Alex Elder --- include/linux/ceph/decode.h | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) #define ceph_decode_64_safe(p, end, v, bad) \ @@ -99,8 +99,8 @@ static inline int ceph_has_room(void **p, void *end, size_t n) * * There are two possible failures: * - converting the string would require accessing memory at or - * beyond the "end" pointer provided (-E - * - memory could not be allocated for the result + * beyond the "end" pointer provided (-ERANGE) + * - memory could not be allocated for the result (-ENOMEM) */ static inline char *ceph_extract_encoded_string(void **p, void *end, size_t *lenp, gfp_t gfp) @@ -217,10 +217,10 @@ static inline void ceph_encode_string(void **p, void *end, *p += len; } -#define ceph_encode_need(p, end, n, bad) \ - do { \ - if (!likely(ceph_has_room(p, end, n))) \ - goto bad; \ +#define ceph_encode_need(p, end, n, bad) \ + do { \ + if (!likely(ceph_has_room(p, end, n))) \ + goto bad; \ } while (0) #define ceph_encode_64_safe(p, end, v, bad) \ @@ -231,12 +231,17 @@ static inline void ceph_encode_string(void **p, void *end, #define ceph_encode_32_safe(p, end, v, bad) \ do { \ ceph_encode_need(p, end, sizeof(u32), bad); \ - ceph_encode_32(p, v); \ + ceph_encode_32(p, v); \ } while (0) #define ceph_encode_16_safe(p, end, v, bad) \ do { \ ceph_encode_need(p, end, sizeof(u16), bad); \ - ceph_encode_16(p, v); \ + ceph_encode_16(p, v); \ + } while (0) +#define ceph_encode_8_safe(p, end, v, bad) \ + do { \ + ceph_encode_need(p, end, sizeof(u8), bad); \ + ceph_encode_8(p, v); \ } while (0) #define ceph_encode_copy_safe(p, end, pv, n, bad) \ diff --git a/include/linux/ceph/decode.h b/include/linux/ceph/decode.h index 4bbf2db..cd679f2 100644 --- a/include/linux/ceph/decode.h +++ b/include/linux/ceph/decode.h @@ -52,10 +52,10 @@ static inline int ceph_has_room(void **p, void *end, size_t n) return end >= *p && n <= end - *p; } -#define ceph_decode_need(p, end, n, bad) \ - do { \ - if (!likely(ceph_has_room(p, end, n))) \ - goto bad; \ +#define ceph_decode_need(p, end, n, bad) \ + do { \ + if (!likely(ceph_has_room(p, end, n))) \ + goto bad; \ } while (0)