This is a note to let you know that I've just added the patch titled

    udf: Remove repeated loads blocksize

to the 3.18-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     udf-remove-repeated-loads-blocksize.patch
and it can be found in the queue-3.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 79144954278d4bb5989f8b903adcac7a20ff2a5a Mon Sep 17 00:00:00 2001
From: Jan Kara <[email protected]>
Date: Wed, 7 Jan 2015 13:46:16 +0100
Subject: udf: Remove repeated loads blocksize

From: Jan Kara <[email protected]>

commit 79144954278d4bb5989f8b903adcac7a20ff2a5a upstream.

Store blocksize in a local variable in udf_fill_inode() since it is used
a lot of times.

Signed-off-by: Jan Kara <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 fs/udf/inode.c |   19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -1288,6 +1288,7 @@ static int udf_read_inode(struct inode *
        struct kernel_lb_addr *iloc = &iinfo->i_location;
        unsigned int link_count;
        unsigned int indirections = 0;
+       int bs = inode->i_sb->s_blocksize;
        int ret = -EIO;
 
 reread:
@@ -1374,38 +1375,35 @@ reread:
        if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_EFE)) {
                iinfo->i_efe = 1;
                iinfo->i_use = 0;
-               ret = udf_alloc_i_data(inode, inode->i_sb->s_blocksize -
+               ret = udf_alloc_i_data(inode, bs -
                                        sizeof(struct extendedFileEntry));
                if (ret)
                        goto out;
                memcpy(iinfo->i_ext.i_data,
                       bh->b_data + sizeof(struct extendedFileEntry),
-                      inode->i_sb->s_blocksize -
-                                       sizeof(struct extendedFileEntry));
+                      bs - sizeof(struct extendedFileEntry));
        } else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_FE)) {
                iinfo->i_efe = 0;
                iinfo->i_use = 0;
-               ret = udf_alloc_i_data(inode, inode->i_sb->s_blocksize -
-                                               sizeof(struct fileEntry));
+               ret = udf_alloc_i_data(inode, bs - sizeof(struct fileEntry));
                if (ret)
                        goto out;
                memcpy(iinfo->i_ext.i_data,
                       bh->b_data + sizeof(struct fileEntry),
-                      inode->i_sb->s_blocksize - sizeof(struct fileEntry));
+                      bs - sizeof(struct fileEntry));
        } else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_USE)) {
                iinfo->i_efe = 0;
                iinfo->i_use = 1;
                iinfo->i_lenAlloc = le32_to_cpu(
                                ((struct unallocSpaceEntry *)bh->b_data)->
                                 lengthAllocDescs);
-               ret = udf_alloc_i_data(inode, inode->i_sb->s_blocksize -
+               ret = udf_alloc_i_data(inode, bs -
                                        sizeof(struct unallocSpaceEntry));
                if (ret)
                        goto out;
                memcpy(iinfo->i_ext.i_data,
                       bh->b_data + sizeof(struct unallocSpaceEntry),
-                      inode->i_sb->s_blocksize -
-                                       sizeof(struct unallocSpaceEntry));
+                      bs - sizeof(struct unallocSpaceEntry));
                return 0;
        }
 
@@ -1498,8 +1496,7 @@ reread:
                if (iinfo->i_lenAlloc != inode->i_size)
                        goto out;
                /* File in ICB has to fit in there... */
-               if (inode->i_size > inode->i_sb->s_blocksize -
-                                       udf_file_entry_alloc_offset(inode))
+               if (inode->i_size > bs - udf_file_entry_alloc_offset(inode))
                        goto out;
        }
 


Patches currently in stable-queue which might be from [email protected] are

queue-3.18/xfs-set-buf-types-when-converting-extent-formats.patch
queue-3.18/xfs-inode-unlink-does-not-set-agi-buffer-type.patch
queue-3.18/udf-remove-repeated-loads-blocksize.patch
queue-3.18/fsnotify-fix-handling-of-renames-in-audit.patch
queue-3.18/xfs-ensure-buffer-types-are-set-correctly.patch
queue-3.18/udf-check-length-of-extended-attributes-and-allocation-descriptors.patch
queue-3.18/axonram-fix-bug-in-direct_access.patch
queue-3.18/xfs-set-superblock-buffer-type-correctly.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to