Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1951112imu; Sun, 16 Dec 2018 12:48:51 -0800 (PST) X-Google-Smtp-Source: AFSGD/VxyAAo25njsrFWbymuzKBTWiIypxrWsI5NYnEcn27f5xXiI7LE1zAeTHP51emh3Ryy6DpS X-Received: by 2002:a63:42c1:: with SMTP id p184mr9850722pga.202.1544993331077; Sun, 16 Dec 2018 12:48:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544993331; cv=none; d=google.com; s=arc-20160816; b=FJj4AsWuM3wYQ9VLzzD2TdjJBTmGMYzrtXMjEIQPg6quu+Awh/lFJML+UvmqB3tV2v qmbg7ZgHMUutKf5K0a7X/LbICTzTPn5LSFg7LqUdKZQI4Ygx7/OvVJ9ouajJZEg/mOG8 8n/IVxvjTqp6gKjsKpg/YhTMLSYpH7RZ1JoFIQTJ50sWwGuXf5NRzmL1+gxRLbMHjK7A ptJOcYGTpcIuO2HLex3prV8r9W/Qat7D/9LBcQz3CJ3OP+YEmOoqy9H54iRCtlNFa/ls ugHaj3WaEUhln1ixYPcdqW1V/D9tRLoL/aVhOLvlelKPGv3pRjPMOpKBidnBE5ig/I1f TLzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:to:from:dkim-signature; bh=Q+hqS7cpOSw+1VfYGA2msdA/eCF/gAAZquYRfrl7MNg=; b=lWzupY2/Kr+ITTHu0xt5HtniOztqvm6rNqbffNg2rqDIte2ncbPtyG0urntSGEwfa9 uw7np6YsmE1HjlcbGOr1bHsqdacTAHGqi0nXFP3vDvxBL4L1y5NPqmK+E6+NFLtGfy7+ aOmPG5ATtqpVL53+BgFmv8GkBXLQqlAmnUZ++l5S6tN2BXcxj7J6I1BebCbkzruq+aur Pom9kFwu79ryKJFXpPN1X9Mx2mGde7vwqoSjyvdOx1ZgLZhN3zAYGn2iqTxni9UYKABA ArV6ZW9OxpAJOqPl+3CySOYmmQ21kZ8PReiSXC972Bps2JYVNdPu4qA4l8jqFWbrA298 eJvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=MF791YFs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u91si8120355plb.237.2018.12.16.12.48.32; Sun, 16 Dec 2018 12:48:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=MF791YFs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730983AbeLPUEa (ORCPT + 99 others); Sun, 16 Dec 2018 15:04:30 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:46576 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730947AbeLPUE1 (ORCPT ); Sun, 16 Dec 2018 15:04:27 -0500 Received: by mail-wr1-f67.google.com with SMTP id l9so10180627wrt.13 for ; Sun, 16 Dec 2018 12:04:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Q+hqS7cpOSw+1VfYGA2msdA/eCF/gAAZquYRfrl7MNg=; b=MF791YFsiX9Z2fWlSyvyDsAo9DOcHSmGFf4jW+O9nAnwYBbE/cYJg577Dr9DNffdCr FU6RRWxqmQThWggDXWCy8lk346/c+V2zMv3kPNaBcSZf3fZePt0RvMKGWirOJRNfTp1r HzBvluRHWikyDwaM54+x/2gucVYbVVyOo55iUp9gyYca7KxL3jSYo10fJ77MoEM0TS2x X/rhQd9iJK5nQvxJKeACtFF0rSUdW80/gSvQmC4Vlm2fjlXxkCrmR/MYXmxJChXq1xJy SGxjqy5/pO2g3noba0T9QimdPm1wxj3mEyzutJpFd4s/QMqnzNBApn4oLUPy/6H8BlpM xOrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Q+hqS7cpOSw+1VfYGA2msdA/eCF/gAAZquYRfrl7MNg=; b=bX3Xe4JxMkJyMCkRec7xO+8JvpO4PLdx4P/VTjJeU0ILG/RTkm0KUYBFm35Moj6+/2 +eerC8XRm4KMVaMqFKzcwJpIYob9/XmegVGUfgZ4oPX6UDtPabzVRu7E0m4Wj8aORk89 Qe1469OESoc3g8Mz/mn/KSImOy7t1hNnOAXp5tzcjc9E+JeCA1V+QBJjEbPtjjU8MmN/ p8pwm/jjEyNMeoxY3HIVuj4Q3C0jGU/WGtVsye/GW47pQnKZXH1dfq+ijz2vQYOrUAHQ 2EH54EWjoW334kinXx35AstrzN+5uGf+3rEqROqdYVD3GpgR0ochQLE/6PSeNLIhLKyQ 8nAA== X-Gm-Message-State: AA+aEWaSek+I/g8NbSazY6EkeaLOGM61N+HkSaZPkvNZm1pwqIJD18pi Bp2tcLOjcie2D9KNBeCsJHdTjg9ERiE= X-Received: by 2002:a5d:6684:: with SMTP id l4mr9349902wru.154.1544990666007; Sun, 16 Dec 2018 12:04:26 -0800 (PST) Received: from localhost.localdomain (bzq-109-67-225-236.red.bezeqint.net. [109.67.225.236]) by smtp.googlemail.com with ESMTPSA id v5sm10535150wrn.71.2018.12.16.12.04.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 16 Dec 2018 12:04:25 -0800 (PST) From: Carmeli Tamir To: carmeli.tamir@gmail.com, hirofumi@mail.parknet.co.jp, linux-kernel@vger.kernel.org, jthumshirn@suse.de, sergey.senozhatsky@gmail.com, akpm@linux-foundation.org, bvanassche@acm.org, axboe@kernel.dk, martin.petersen@oracle.com, sfr@canb.auug.org.au Subject: [PATCH v3 2/3] fat: Moved MAX_FAT to fat.h and changed it to inline function Date: Sun, 16 Dec 2018 15:03:59 -0500 Message-Id: <1544990640-11604-3-git-send-email-carmeli.tamir@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1544990640-11604-1-git-send-email-carmeli.tamir@gmail.com> References: <1544990640-11604-1-git-send-email-carmeli.tamir@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org MAX_FAT is useless in msdos_fs.h, since it uses the MSDOS_SB function that is defined in fat.h. So really, this macro can be only called from code that already includes fat.h. Hence, this patch moves it to fat.h, right after MSDOS_SB is defined. I also changed it to an inline function in order to save the double call to MSDOS_SB. This was suggested by joe@perches.com in the previous version. This patch is required for the next in the series, in which the variant (whether this is FAT12, FAT16 or FAT32) checks are replaced with new macros. Signed-off-by: Carmeli Tamir --- fs/fat/fat.h | 9 +++++++++ fs/fat/inode.c | 2 +- include/uapi/linux/msdos_fs.h | 2 -- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/fs/fat/fat.h b/fs/fat/fat.h index 4e1b2f6..979bb11 100644 --- a/fs/fat/fat.h +++ b/fs/fat/fat.h @@ -142,6 +142,15 @@ static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb) return sb->s_fs_info; } +/* Maximum number of clusters */ +static inline u32 max_fat(struct super_block *sb) +{ + struct msdos_sb_info *sbi = MSDOS_SB(sb); + + return sbi->fat_bits == 32 ? MAX_FAT32 : + sbi->fat_bits == 16 ? MAX_FAT16 : MAX_FAT12; +} + static inline struct msdos_inode_info *MSDOS_I(struct inode *inode) { return container_of(inode, struct msdos_inode_info, vfs_inode); diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 708de6d..7ede9db 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -1782,7 +1782,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, int isvfat, /* check that FAT table does not overflow */ fat_clusters = calc_fat_clusters(sb); total_clusters = min(total_clusters, fat_clusters - FAT_START_ENT); - if (total_clusters > MAX_FAT(sb)) { + if (total_clusters > max_fat(sb)) { if (!silent) fat_msg(sb, KERN_ERR, "count of clusters too big (%u)", total_clusters); diff --git a/include/uapi/linux/msdos_fs.h b/include/uapi/linux/msdos_fs.h index 833c707..a577389 100644 --- a/include/uapi/linux/msdos_fs.h +++ b/include/uapi/linux/msdos_fs.h @@ -65,8 +65,6 @@ #define MAX_FAT12 0xFF4 #define MAX_FAT16 0xFFF4 #define MAX_FAT32 0x0FFFFFF6 -#define MAX_FAT(s) (MSDOS_SB(s)->fat_bits == 32 ? MAX_FAT32 : \ - MSDOS_SB(s)->fat_bits == 16 ? MAX_FAT16 : MAX_FAT12) /* bad cluster mark */ #define BAD_FAT12 0xFF7 -- 2.7.4