Commit 3b1ffa04 authored by Jan Kara's avatar Jan Kara Committed by Luis Henriques

udf: Remove repeated loads blocksize

commit 79144954 upstream.

Store blocksize in a local variable in udf_fill_inode() since it is used
a lot of times.
Signed-off-by: default avatarJan Kara <jack@suse.cz>
[bwh: Needed for the following fix. Backported to 3.16: adjust context.]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 15acbf50
...@@ -1365,6 +1365,7 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) ...@@ -1365,6 +1365,7 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
struct udf_sb_info *sbi = UDF_SB(inode->i_sb); struct udf_sb_info *sbi = UDF_SB(inode->i_sb);
struct udf_inode_info *iinfo = UDF_I(inode); struct udf_inode_info *iinfo = UDF_I(inode);
unsigned int link_count; unsigned int link_count;
int bs = inode->i_sb->s_blocksize;
fe = (struct fileEntry *)bh->b_data; fe = (struct fileEntry *)bh->b_data;
efe = (struct extendedFileEntry *)bh->b_data; efe = (struct extendedFileEntry *)bh->b_data;
...@@ -1385,41 +1386,38 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) ...@@ -1385,41 +1386,38 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_EFE)) { if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_EFE)) {
iinfo->i_efe = 1; iinfo->i_efe = 1;
iinfo->i_use = 0; iinfo->i_use = 0;
if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - if (udf_alloc_i_data(inode, bs -
sizeof(struct extendedFileEntry))) { sizeof(struct extendedFileEntry))) {
make_bad_inode(inode); make_bad_inode(inode);
return; return;
} }
memcpy(iinfo->i_ext.i_data, memcpy(iinfo->i_ext.i_data,
bh->b_data + sizeof(struct extendedFileEntry), bh->b_data + sizeof(struct extendedFileEntry),
inode->i_sb->s_blocksize - bs - sizeof(struct extendedFileEntry));
sizeof(struct extendedFileEntry));
} else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_FE)) { } else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_FE)) {
iinfo->i_efe = 0; iinfo->i_efe = 0;
iinfo->i_use = 0; iinfo->i_use = 0;
if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - if (udf_alloc_i_data(inode, bs - sizeof(struct fileEntry))) {
sizeof(struct fileEntry))) {
make_bad_inode(inode); make_bad_inode(inode);
return; return;
} }
memcpy(iinfo->i_ext.i_data, memcpy(iinfo->i_ext.i_data,
bh->b_data + sizeof(struct fileEntry), 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)) { } else if (fe->descTag.tagIdent == cpu_to_le16(TAG_IDENT_USE)) {
iinfo->i_efe = 0; iinfo->i_efe = 0;
iinfo->i_use = 1; iinfo->i_use = 1;
iinfo->i_lenAlloc = le32_to_cpu( iinfo->i_lenAlloc = le32_to_cpu(
((struct unallocSpaceEntry *)bh->b_data)-> ((struct unallocSpaceEntry *)bh->b_data)->
lengthAllocDescs); lengthAllocDescs);
if (udf_alloc_i_data(inode, inode->i_sb->s_blocksize - if (udf_alloc_i_data(inode, bs -
sizeof(struct unallocSpaceEntry))) { sizeof(struct unallocSpaceEntry))) {
make_bad_inode(inode); make_bad_inode(inode);
return; return;
} }
memcpy(iinfo->i_ext.i_data, memcpy(iinfo->i_ext.i_data,
bh->b_data + sizeof(struct unallocSpaceEntry), bh->b_data + sizeof(struct unallocSpaceEntry),
inode->i_sb->s_blocksize - bs - sizeof(struct unallocSpaceEntry));
sizeof(struct unallocSpaceEntry));
return; return;
} }
...@@ -1507,8 +1505,7 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) ...@@ -1507,8 +1505,7 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
return; return;
} }
/* File in ICB has to fit in there... */ /* File in ICB has to fit in there... */
if (inode->i_size > inode->i_sb->s_blocksize - if (inode->i_size > bs - udf_file_entry_alloc_offset(inode)) {
udf_file_entry_alloc_offset(inode)) {
make_bad_inode(inode); make_bad_inode(inode);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment