Commit 04447026 authored by Fabian Frederick's avatar Fabian Frederick Committed by Greg Kroah-Hartman

fs: add i_blocksize()

commit 93407472 upstream.

Replace all 1 << inode->i_blkbits and (1 << inode->i_blkbits) in fs
branch.

This patch also fixes multiple checkpatch warnings: WARNING: Prefer
'unsigned int' to bare use of 'unsigned'

Thanks to Andrew Morton for suggesting more appropriate function instead
of macro.

[geliangtang@gmail.com: truncate: use i_blocksize()]
  Link: http://lkml.kernel.org/r/9c8b2cd83c8f5653805d43debde9fa8817e02fc4.1484895804.git.geliangtang@gmail.com
Link: http://lkml.kernel.org/r/1481319905-10126-1-git-send-email-fabf@skynet.beSigned-off-by: default avatarFabian Frederick <fabf@skynet.be>
Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c8acec90
...@@ -2771,7 +2771,7 @@ static long btrfs_fallocate(struct file *file, int mode, ...@@ -2771,7 +2771,7 @@ static long btrfs_fallocate(struct file *file, int mode,
if (!ret) if (!ret)
ret = btrfs_prealloc_file_range(inode, mode, ret = btrfs_prealloc_file_range(inode, mode,
range->start, range->start,
range->len, 1 << inode->i_blkbits, range->len, i_blocksize(inode),
offset + len, &alloc_hint); offset + len, &alloc_hint);
list_del(&range->list); list_del(&range->list);
kfree(range); kfree(range);
......
...@@ -2298,7 +2298,7 @@ static int cont_expand_zero(struct file *file, struct address_space *mapping, ...@@ -2298,7 +2298,7 @@ static int cont_expand_zero(struct file *file, struct address_space *mapping,
loff_t pos, loff_t *bytes) loff_t pos, loff_t *bytes)
{ {
struct inode *inode = mapping->host; struct inode *inode = mapping->host;
unsigned blocksize = 1 << inode->i_blkbits; unsigned int blocksize = i_blocksize(inode);
struct page *page; struct page *page;
void *fsdata; void *fsdata;
pgoff_t index, curidx; pgoff_t index, curidx;
...@@ -2378,8 +2378,8 @@ int cont_write_begin(struct file *file, struct address_space *mapping, ...@@ -2378,8 +2378,8 @@ int cont_write_begin(struct file *file, struct address_space *mapping,
get_block_t *get_block, loff_t *bytes) get_block_t *get_block, loff_t *bytes)
{ {
struct inode *inode = mapping->host; struct inode *inode = mapping->host;
unsigned blocksize = 1 << inode->i_blkbits; unsigned int blocksize = i_blocksize(inode);
unsigned zerofrom; unsigned int zerofrom;
int err; int err;
err = cont_expand_zero(file, mapping, pos, bytes); err = cont_expand_zero(file, mapping, pos, bytes);
...@@ -2741,7 +2741,7 @@ int nobh_truncate_page(struct address_space *mapping, ...@@ -2741,7 +2741,7 @@ int nobh_truncate_page(struct address_space *mapping,
struct buffer_head map_bh; struct buffer_head map_bh;
int err; int err;
blocksize = 1 << inode->i_blkbits; blocksize = i_blocksize(inode);
length = offset & (blocksize - 1); length = offset & (blocksize - 1);
/* Block boundary? Nothing to do */ /* Block boundary? Nothing to do */
...@@ -2819,7 +2819,7 @@ int block_truncate_page(struct address_space *mapping, ...@@ -2819,7 +2819,7 @@ int block_truncate_page(struct address_space *mapping,
struct buffer_head *bh; struct buffer_head *bh;
int err; int err;
blocksize = 1 << inode->i_blkbits; blocksize = i_blocksize(inode);
length = offset & (blocksize - 1); length = offset & (blocksize - 1);
/* Block boundary? Nothing to do */ /* Block boundary? Nothing to do */
...@@ -2931,7 +2931,7 @@ sector_t generic_block_bmap(struct address_space *mapping, sector_t block, ...@@ -2931,7 +2931,7 @@ sector_t generic_block_bmap(struct address_space *mapping, sector_t block,
struct inode *inode = mapping->host; struct inode *inode = mapping->host;
tmp.b_state = 0; tmp.b_state = 0;
tmp.b_blocknr = 0; tmp.b_blocknr = 0;
tmp.b_size = 1 << inode->i_blkbits; tmp.b_size = i_blocksize(inode);
get_block(inode, block, &tmp, 0); get_block(inode, block, &tmp, 0);
return tmp.b_blocknr; return tmp.b_blocknr;
} }
......
...@@ -697,7 +697,7 @@ static int ceph_writepages_start(struct address_space *mapping, ...@@ -697,7 +697,7 @@ static int ceph_writepages_start(struct address_space *mapping,
struct pagevec pvec; struct pagevec pvec;
int done = 0; int done = 0;
int rc = 0; int rc = 0;
unsigned wsize = 1 << inode->i_blkbits; unsigned int wsize = i_blocksize(inode);
struct ceph_osd_request *req = NULL; struct ceph_osd_request *req = NULL;
int do_sync = 0; int do_sync = 0;
loff_t snap_size, i_size; loff_t snap_size, i_size;
......
...@@ -575,7 +575,7 @@ static int dio_set_defer_completion(struct dio *dio) ...@@ -575,7 +575,7 @@ static int dio_set_defer_completion(struct dio *dio)
/* /*
* Call into the fs to map some more disk blocks. We record the current number * Call into the fs to map some more disk blocks. We record the current number
* of available blocks at sdio->blocks_available. These are in units of the * of available blocks at sdio->blocks_available. These are in units of the
* fs blocksize, (1 << inode->i_blkbits). * fs blocksize, i_blocksize(inode).
* *
* The fs is allowed to map lots of blocks at once. If it wants to do that, * The fs is allowed to map lots of blocks at once. If it wants to do that,
* it uses the passed inode-relative block number as the file offset, as usual. * it uses the passed inode-relative block number as the file offset, as usual.
......
...@@ -2044,7 +2044,7 @@ static int mpage_process_page_bufs(struct mpage_da_data *mpd, ...@@ -2044,7 +2044,7 @@ static int mpage_process_page_bufs(struct mpage_da_data *mpd,
{ {
struct inode *inode = mpd->inode; struct inode *inode = mpd->inode;
int err; int err;
ext4_lblk_t blocks = (i_size_read(inode) + (1 << inode->i_blkbits) - 1) ext4_lblk_t blocks = (i_size_read(inode) + i_blocksize(inode) - 1)
>> inode->i_blkbits; >> inode->i_blkbits;
do { do {
......
...@@ -187,7 +187,7 @@ mext_page_mkuptodate(struct page *page, unsigned from, unsigned to) ...@@ -187,7 +187,7 @@ mext_page_mkuptodate(struct page *page, unsigned from, unsigned to)
if (PageUptodate(page)) if (PageUptodate(page))
return 0; return 0;
blocksize = 1 << inode->i_blkbits; blocksize = i_blocksize(inode);
if (!page_has_buffers(page)) if (!page_has_buffers(page))
create_empty_buffers(page, blocksize, 0); create_empty_buffers(page, blocksize, 0);
......
...@@ -758,7 +758,7 @@ static ssize_t jfs_quota_read(struct super_block *sb, int type, char *data, ...@@ -758,7 +758,7 @@ static ssize_t jfs_quota_read(struct super_block *sb, int type, char *data,
sb->s_blocksize - offset : toread; sb->s_blocksize - offset : toread;
tmp_bh.b_state = 0; tmp_bh.b_state = 0;
tmp_bh.b_size = 1 << inode->i_blkbits; tmp_bh.b_size = i_blocksize(inode);
err = jfs_get_block(inode, blk, &tmp_bh, 0); err = jfs_get_block(inode, blk, &tmp_bh, 0);
if (err) if (err)
return err; return err;
...@@ -798,7 +798,7 @@ static ssize_t jfs_quota_write(struct super_block *sb, int type, ...@@ -798,7 +798,7 @@ static ssize_t jfs_quota_write(struct super_block *sb, int type,
sb->s_blocksize - offset : towrite; sb->s_blocksize - offset : towrite;
tmp_bh.b_state = 0; tmp_bh.b_state = 0;
tmp_bh.b_size = 1 << inode->i_blkbits; tmp_bh.b_size = i_blocksize(inode);
err = jfs_get_block(inode, blk, &tmp_bh, 1); err = jfs_get_block(inode, blk, &tmp_bh, 1);
if (err) if (err)
goto out; goto out;
......
...@@ -111,7 +111,7 @@ map_buffer_to_page(struct page *page, struct buffer_head *bh, int page_block) ...@@ -111,7 +111,7 @@ map_buffer_to_page(struct page *page, struct buffer_head *bh, int page_block)
SetPageUptodate(page); SetPageUptodate(page);
return; return;
} }
create_empty_buffers(page, 1 << inode->i_blkbits, 0); create_empty_buffers(page, i_blocksize(inode), 0);
} }
head = page_buffers(page); head = page_buffers(page);
page_bh = head; page_bh = head;
......
...@@ -50,7 +50,7 @@ nfsd4_block_proc_layoutget(struct inode *inode, const struct svc_fh *fhp, ...@@ -50,7 +50,7 @@ nfsd4_block_proc_layoutget(struct inode *inode, const struct svc_fh *fhp,
{ {
struct nfsd4_layout_seg *seg = &args->lg_seg; struct nfsd4_layout_seg *seg = &args->lg_seg;
struct super_block *sb = inode->i_sb; struct super_block *sb = inode->i_sb;
u32 block_size = (1 << inode->i_blkbits); u32 block_size = i_blocksize(inode);
struct pnfs_block_extent *bex; struct pnfs_block_extent *bex;
struct iomap iomap; struct iomap iomap;
u32 device_generation = 0; u32 device_generation = 0;
...@@ -151,7 +151,7 @@ nfsd4_block_proc_layoutcommit(struct inode *inode, ...@@ -151,7 +151,7 @@ nfsd4_block_proc_layoutcommit(struct inode *inode,
int error; int error;
nr_iomaps = nfsd4_block_decode_layoutupdate(lcp->lc_up_layout, nr_iomaps = nfsd4_block_decode_layoutupdate(lcp->lc_up_layout,
lcp->lc_up_len, &iomaps, 1 << inode->i_blkbits); lcp->lc_up_len, &iomaps, i_blocksize(inode));
if (nr_iomaps < 0) if (nr_iomaps < 0)
return nfserrno(nr_iomaps); return nfserrno(nr_iomaps);
......
...@@ -55,7 +55,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr) ...@@ -55,7 +55,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
brelse(bh); brelse(bh);
BUG(); BUG();
} }
memset(bh->b_data, 0, 1 << inode->i_blkbits); memset(bh->b_data, 0, i_blocksize(inode));
bh->b_bdev = inode->i_sb->s_bdev; bh->b_bdev = inode->i_sb->s_bdev;
bh->b_blocknr = blocknr; bh->b_blocknr = blocknr;
set_buffer_mapped(bh); set_buffer_mapped(bh);
......
...@@ -55,7 +55,7 @@ void nilfs_inode_add_blocks(struct inode *inode, int n) ...@@ -55,7 +55,7 @@ void nilfs_inode_add_blocks(struct inode *inode, int n)
{ {
struct nilfs_root *root = NILFS_I(inode)->i_root; struct nilfs_root *root = NILFS_I(inode)->i_root;
inode_add_bytes(inode, (1 << inode->i_blkbits) * n); inode_add_bytes(inode, i_blocksize(inode) * n);
if (root) if (root)
atomic64_add(n, &root->blocks_count); atomic64_add(n, &root->blocks_count);
} }
...@@ -64,7 +64,7 @@ void nilfs_inode_sub_blocks(struct inode *inode, int n) ...@@ -64,7 +64,7 @@ void nilfs_inode_sub_blocks(struct inode *inode, int n)
{ {
struct nilfs_root *root = NILFS_I(inode)->i_root; struct nilfs_root *root = NILFS_I(inode)->i_root;
inode_sub_bytes(inode, (1 << inode->i_blkbits) * n); inode_sub_bytes(inode, i_blocksize(inode) * n);
if (root) if (root)
atomic64_sub(n, &root->blocks_count); atomic64_sub(n, &root->blocks_count);
} }
......
...@@ -60,7 +60,7 @@ nilfs_mdt_insert_new_block(struct inode *inode, unsigned long block, ...@@ -60,7 +60,7 @@ nilfs_mdt_insert_new_block(struct inode *inode, unsigned long block,
set_buffer_mapped(bh); set_buffer_mapped(bh);
kaddr = kmap_atomic(bh->b_page); kaddr = kmap_atomic(bh->b_page);
memset(kaddr + bh_offset(bh), 0, 1 << inode->i_blkbits); memset(kaddr + bh_offset(bh), 0, i_blocksize(inode));
if (init_block) if (init_block)
init_block(inode, bh, kaddr); init_block(inode, bh, kaddr);
flush_dcache_page(bh->b_page); flush_dcache_page(bh->b_page);
...@@ -503,7 +503,7 @@ void nilfs_mdt_set_entry_size(struct inode *inode, unsigned entry_size, ...@@ -503,7 +503,7 @@ void nilfs_mdt_set_entry_size(struct inode *inode, unsigned entry_size,
struct nilfs_mdt_info *mi = NILFS_MDT(inode); struct nilfs_mdt_info *mi = NILFS_MDT(inode);
mi->mi_entry_size = entry_size; mi->mi_entry_size = entry_size;
mi->mi_entries_per_block = (1 << inode->i_blkbits) / entry_size; mi->mi_entries_per_block = i_blocksize(inode) / entry_size;
mi->mi_first_entry_offset = DIV_ROUND_UP(header_size, entry_size); mi->mi_first_entry_offset = DIV_ROUND_UP(header_size, entry_size);
} }
......
...@@ -719,7 +719,7 @@ static size_t nilfs_lookup_dirty_data_buffers(struct inode *inode, ...@@ -719,7 +719,7 @@ static size_t nilfs_lookup_dirty_data_buffers(struct inode *inode,
lock_page(page); lock_page(page);
if (!page_has_buffers(page)) if (!page_has_buffers(page))
create_empty_buffers(page, 1 << inode->i_blkbits, 0); create_empty_buffers(page, i_blocksize(inode), 0);
unlock_page(page); unlock_page(page);
bh = head = page_buffers(page); bh = head = page_buffers(page);
......
...@@ -1103,7 +1103,7 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno, ...@@ -1103,7 +1103,7 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno,
int ret = 0; int ret = 0;
struct buffer_head *head, *bh, *wait[2], **wait_bh = wait; struct buffer_head *head, *bh, *wait[2], **wait_bh = wait;
unsigned int block_end, block_start; unsigned int block_end, block_start;
unsigned int bsize = 1 << inode->i_blkbits; unsigned int bsize = i_blocksize(inode);
if (!page_has_buffers(page)) if (!page_has_buffers(page))
create_empty_buffers(page, bsize, 0); create_empty_buffers(page, bsize, 0);
......
...@@ -808,7 +808,7 @@ static int ocfs2_write_zero_page(struct inode *inode, u64 abs_from, ...@@ -808,7 +808,7 @@ static int ocfs2_write_zero_page(struct inode *inode, u64 abs_from,
/* We know that zero_from is block aligned */ /* We know that zero_from is block aligned */
for (block_start = zero_from; block_start < zero_to; for (block_start = zero_from; block_start < zero_to;
block_start = block_end) { block_start = block_end) {
block_end = block_start + (1 << inode->i_blkbits); block_end = block_start + i_blocksize(inode);
/* /*
* block_start is block-aligned. Bump it by one to force * block_start is block-aligned. Bump it by one to force
......
...@@ -189,7 +189,7 @@ int reiserfs_commit_page(struct inode *inode, struct page *page, ...@@ -189,7 +189,7 @@ int reiserfs_commit_page(struct inode *inode, struct page *page,
int ret = 0; int ret = 0;
th.t_trans_id = 0; th.t_trans_id = 0;
blocksize = 1 << inode->i_blkbits; blocksize = i_blocksize(inode);
if (logit) { if (logit) {
reiserfs_write_lock(s); reiserfs_write_lock(s);
......
...@@ -524,7 +524,7 @@ static int reiserfs_get_blocks_direct_io(struct inode *inode, ...@@ -524,7 +524,7 @@ static int reiserfs_get_blocks_direct_io(struct inode *inode,
* referenced in convert_tail_for_hole() that may be called from * referenced in convert_tail_for_hole() that may be called from
* reiserfs_get_block() * reiserfs_get_block()
*/ */
bh_result->b_size = (1 << inode->i_blkbits); bh_result->b_size = i_blocksize(inode);
ret = reiserfs_get_block(inode, iblock, bh_result, ret = reiserfs_get_block(inode, iblock, bh_result,
create | GET_BLOCK_NO_DANGLE); create | GET_BLOCK_NO_DANGLE);
......
...@@ -31,7 +31,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat) ...@@ -31,7 +31,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
stat->atime = inode->i_atime; stat->atime = inode->i_atime;
stat->mtime = inode->i_mtime; stat->mtime = inode->i_mtime;
stat->ctime = inode->i_ctime; stat->ctime = inode->i_ctime;
stat->blksize = (1 << inode->i_blkbits); stat->blksize = i_blocksize(inode);
stat->blocks = inode->i_blocks; stat->blocks = inode->i_blocks;
} }
......
...@@ -1206,7 +1206,7 @@ int udf_setsize(struct inode *inode, loff_t newsize) ...@@ -1206,7 +1206,7 @@ int udf_setsize(struct inode *inode, loff_t newsize)
{ {
int err; int err;
struct udf_inode_info *iinfo; struct udf_inode_info *iinfo;
int bsize = 1 << inode->i_blkbits; int bsize = i_blocksize(inode);
if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
S_ISLNK(inode->i_mode))) S_ISLNK(inode->i_mode)))
......
...@@ -288,7 +288,7 @@ xfs_map_blocks( ...@@ -288,7 +288,7 @@ xfs_map_blocks(
{ {
struct xfs_inode *ip = XFS_I(inode); struct xfs_inode *ip = XFS_I(inode);
struct xfs_mount *mp = ip->i_mount; struct xfs_mount *mp = ip->i_mount;
ssize_t count = 1 << inode->i_blkbits; ssize_t count = i_blocksize(inode);
xfs_fileoff_t offset_fsb, end_fsb; xfs_fileoff_t offset_fsb, end_fsb;
int error = 0; int error = 0;
int bmapi_flags = XFS_BMAPI_ENTIRE; int bmapi_flags = XFS_BMAPI_ENTIRE;
...@@ -921,7 +921,7 @@ xfs_aops_discard_page( ...@@ -921,7 +921,7 @@ xfs_aops_discard_page(
break; break;
} }
next_buffer: next_buffer:
offset += 1 << inode->i_blkbits; offset += i_blocksize(inode);
} while ((bh = bh->b_this_page) != head); } while ((bh = bh->b_this_page) != head);
...@@ -1363,7 +1363,7 @@ xfs_map_trim_size( ...@@ -1363,7 +1363,7 @@ xfs_map_trim_size(
offset + mapping_size >= i_size_read(inode)) { offset + mapping_size >= i_size_read(inode)) {
/* limit mapping to block that spans EOF */ /* limit mapping to block that spans EOF */
mapping_size = roundup_64(i_size_read(inode) - offset, mapping_size = roundup_64(i_size_read(inode) - offset,
1 << inode->i_blkbits); i_blocksize(inode));
} }
if (mapping_size > LONG_MAX) if (mapping_size > LONG_MAX)
mapping_size = LONG_MAX; mapping_size = LONG_MAX;
...@@ -1395,7 +1395,7 @@ __xfs_get_blocks( ...@@ -1395,7 +1395,7 @@ __xfs_get_blocks(
return -EIO; return -EIO;
offset = (xfs_off_t)iblock << inode->i_blkbits; offset = (xfs_off_t)iblock << inode->i_blkbits;
ASSERT(bh_result->b_size >= (1 << inode->i_blkbits)); ASSERT(bh_result->b_size >= i_blocksize(inode));
size = bh_result->b_size; size = bh_result->b_size;
if (!create && direct && offset >= i_size_read(inode)) if (!create && direct && offset >= i_size_read(inode))
...@@ -1968,7 +1968,7 @@ xfs_vm_set_page_dirty( ...@@ -1968,7 +1968,7 @@ xfs_vm_set_page_dirty(
if (offset < end_offset) if (offset < end_offset)
set_buffer_dirty(bh); set_buffer_dirty(bh);
bh = bh->b_this_page; bh = bh->b_this_page;
offset += 1 << inode->i_blkbits; offset += i_blocksize(inode);
} while (bh != head); } while (bh != head);
} }
/* /*
......
...@@ -947,7 +947,7 @@ xfs_file_fallocate( ...@@ -947,7 +947,7 @@ xfs_file_fallocate(
if (error) if (error)
goto out_unlock; goto out_unlock;
} else if (mode & FALLOC_FL_COLLAPSE_RANGE) { } else if (mode & FALLOC_FL_COLLAPSE_RANGE) {
unsigned blksize_mask = (1 << inode->i_blkbits) - 1; unsigned int blksize_mask = i_blocksize(inode) - 1;
if (offset & blksize_mask || len & blksize_mask) { if (offset & blksize_mask || len & blksize_mask) {
error = -EINVAL; error = -EINVAL;
...@@ -969,7 +969,7 @@ xfs_file_fallocate( ...@@ -969,7 +969,7 @@ xfs_file_fallocate(
if (error) if (error)
goto out_unlock; goto out_unlock;
} else if (mode & FALLOC_FL_INSERT_RANGE) { } else if (mode & FALLOC_FL_INSERT_RANGE) {
unsigned blksize_mask = (1 << inode->i_blkbits) - 1; unsigned int blksize_mask = i_blocksize(inode) - 1;
new_size = i_size_read(inode) + len; new_size = i_size_read(inode) + len;
if (offset & blksize_mask || len & blksize_mask) { if (offset & blksize_mask || len & blksize_mask) {
......
...@@ -680,6 +680,11 @@ struct inode { ...@@ -680,6 +680,11 @@ struct inode {
void *i_private; /* fs or device private pointer */ void *i_private; /* fs or device private pointer */
}; };
static inline unsigned int i_blocksize(const struct inode *node)
{
return (1 << node->i_blkbits);
}
static inline int inode_unhashed(struct inode *inode) static inline int inode_unhashed(struct inode *inode)
{ {
return hlist_unhashed(&inode->i_hash); return hlist_unhashed(&inode->i_hash);
......
...@@ -732,7 +732,7 @@ EXPORT_SYMBOL(truncate_setsize); ...@@ -732,7 +732,7 @@ EXPORT_SYMBOL(truncate_setsize);
*/ */
void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to)
{ {
int bsize = 1 << inode->i_blkbits; int bsize = i_blocksize(inode);
loff_t rounded_from; loff_t rounded_from;
struct page *page; struct page *page;
pgoff_t index; pgoff_t index;
......
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