fs/affs: add validation block function
authorFabian Frederick <fabf@skynet.be>
Mon, 27 Feb 2017 22:27:46 +0000 (14:27 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 28 Feb 2017 02:43:45 +0000 (18:43 -0800)
Avoid repeating 4 times the same calculation.

Link: http://lkml.kernel.org/r/20170109191208.6085-3-fabf@skynet.be
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/affs/affs.h

index 899256b8e918e9063f50a903f8d882084e65c0bd..efe683947df9d0b8de61f54248b4402f2d6bbfe0 100644 (file)
@@ -212,6 +212,12 @@ extern const struct address_space_operations        affs_aops_ofs;
 extern const struct dentry_operations   affs_dentry_operations;
 extern const struct dentry_operations   affs_intl_dentry_operations;
 
+static inline bool affs_validblock(struct super_block *sb, int block)
+{
+       return(block >= AFFS_SB(sb)->s_reserved &&
+              block < AFFS_SB(sb)->s_partition_size);
+}
+
 static inline void
 affs_set_blocksize(struct super_block *sb, int size)
 {
@@ -221,7 +227,7 @@ static inline struct buffer_head *
 affs_bread(struct super_block *sb, int block)
 {
        pr_debug("%s: %d\n", __func__, block);
-       if (block >= AFFS_SB(sb)->s_reserved && block < AFFS_SB(sb)->s_partition_size)
+       if (affs_validblock(sb, block))
                return sb_bread(sb, block);
        return NULL;
 }
@@ -229,7 +235,7 @@ static inline struct buffer_head *
 affs_getblk(struct super_block *sb, int block)
 {
        pr_debug("%s: %d\n", __func__, block);
-       if (block >= AFFS_SB(sb)->s_reserved && block < AFFS_SB(sb)->s_partition_size)
+       if (affs_validblock(sb, block))
                return sb_getblk(sb, block);
        return NULL;
 }
@@ -238,7 +244,7 @@ affs_getzeroblk(struct super_block *sb, int block)
 {
        struct buffer_head *bh;
        pr_debug("%s: %d\n", __func__, block);
-       if (block >= AFFS_SB(sb)->s_reserved && block < AFFS_SB(sb)->s_partition_size) {
+       if (affs_validblock(sb, block)) {
                bh = sb_getblk(sb, block);
                lock_buffer(bh);
                memset(bh->b_data, 0 , sb->s_blocksize);
@@ -253,7 +259,7 @@ affs_getemptyblk(struct super_block *sb, int block)
 {
        struct buffer_head *bh;
        pr_debug("%s: %d\n", __func__, block);
-       if (block >= AFFS_SB(sb)->s_reserved && block < AFFS_SB(sb)->s_partition_size) {
+       if (affs_validblock(sb, block)) {
                bh = sb_getblk(sb, block);
                wait_on_buffer(bh);
                set_buffer_uptodate(bh);