Commit 4fd6c08a authored by Konstantin Komarov's avatar Konstantin Komarov

fs/ntfs3: Use i_size_read and i_size_write

Signed-off-by: default avatarKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
parent 5ca87d01
...@@ -2084,7 +2084,7 @@ int attr_collapse_range(struct ntfs_inode *ni, u64 vbo, u64 bytes) ...@@ -2084,7 +2084,7 @@ int attr_collapse_range(struct ntfs_inode *ni, u64 vbo, u64 bytes)
/* Update inode size. */ /* Update inode size. */
ni->i_valid = valid_size; ni->i_valid = valid_size;
ni->vfs_inode.i_size = data_size; i_size_write(&ni->vfs_inode, data_size);
inode_set_bytes(&ni->vfs_inode, total_size); inode_set_bytes(&ni->vfs_inode, total_size);
ni->ni_flags |= NI_FLAG_UPDATE_PARENT; ni->ni_flags |= NI_FLAG_UPDATE_PARENT;
mark_inode_dirty(&ni->vfs_inode); mark_inode_dirty(&ni->vfs_inode);
...@@ -2499,7 +2499,7 @@ int attr_insert_range(struct ntfs_inode *ni, u64 vbo, u64 bytes) ...@@ -2499,7 +2499,7 @@ int attr_insert_range(struct ntfs_inode *ni, u64 vbo, u64 bytes)
mi_b->dirty = true; mi_b->dirty = true;
done: done:
ni->vfs_inode.i_size += bytes; i_size_write(&ni->vfs_inode, ni->vfs_inode.i_size + bytes);
ni->ni_flags |= NI_FLAG_UPDATE_PARENT; ni->ni_flags |= NI_FLAG_UPDATE_PARENT;
mark_inode_dirty(&ni->vfs_inode); mark_inode_dirty(&ni->vfs_inode);
......
...@@ -517,7 +517,7 @@ static int ntfs_dir_count(struct inode *dir, bool *is_empty, size_t *dirs, ...@@ -517,7 +517,7 @@ static int ntfs_dir_count(struct inode *dir, bool *is_empty, size_t *dirs,
u32 e_size, off, end; u32 e_size, off, end;
size_t drs = 0, fles = 0, bit = 0; size_t drs = 0, fles = 0, bit = 0;
struct indx_node *node = NULL; struct indx_node *node = NULL;
size_t max_indx = ni->vfs_inode.i_size >> ni->dir.index_bits; size_t max_indx = i_size_read(&ni->vfs_inode) >> ni->dir.index_bits;
if (is_empty) if (is_empty)
*is_empty = true; *is_empty = true;
......
...@@ -646,7 +646,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len) ...@@ -646,7 +646,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
if (err) if (err)
goto out; goto out;
} else if (new_size > i_size) { } else if (new_size > i_size) {
inode->i_size = new_size; i_size_write(inode, new_size);
} }
} }
...@@ -696,7 +696,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct dentry *dentry, ...@@ -696,7 +696,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
goto out; goto out;
} }
inode_dio_wait(inode); inode_dio_wait(inode);
oldsize = inode->i_size; oldsize = i_size_read(inode);
newsize = attr->ia_size; newsize = attr->ia_size;
if (newsize <= oldsize) if (newsize <= oldsize)
...@@ -708,7 +708,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct dentry *dentry, ...@@ -708,7 +708,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
goto out; goto out;
ni->ni_flags |= NI_FLAG_UPDATE_PARENT; ni->ni_flags |= NI_FLAG_UPDATE_PARENT;
inode->i_size = newsize; i_size_write(inode, newsize);
} }
setattr_copy(idmap, inode, attr); setattr_copy(idmap, inode, attr);
...@@ -847,7 +847,7 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from) ...@@ -847,7 +847,7 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
size_t count = iov_iter_count(from); size_t count = iov_iter_count(from);
loff_t pos = iocb->ki_pos; loff_t pos = iocb->ki_pos;
struct inode *inode = file_inode(file); struct inode *inode = file_inode(file);
loff_t i_size = inode->i_size; loff_t i_size = i_size_read(inode);
struct address_space *mapping = inode->i_mapping; struct address_space *mapping = inode->i_mapping;
struct ntfs_inode *ni = ntfs_i(inode); struct ntfs_inode *ni = ntfs_i(inode);
u64 valid = ni->i_valid; u64 valid = ni->i_valid;
...@@ -1177,7 +1177,8 @@ static int ntfs_file_release(struct inode *inode, struct file *file) ...@@ -1177,7 +1177,8 @@ static int ntfs_file_release(struct inode *inode, struct file *file)
down_write(&ni->file.run_lock); down_write(&ni->file.run_lock);
err = attr_set_size(ni, ATTR_DATA, NULL, 0, &ni->file.run, err = attr_set_size(ni, ATTR_DATA, NULL, 0, &ni->file.run,
inode->i_size, &ni->i_valid, false, NULL); i_size_read(inode), &ni->i_valid, false,
NULL);
up_write(&ni->file.run_lock); up_write(&ni->file.run_lock);
ni_unlock(ni); ni_unlock(ni);
......
...@@ -2099,7 +2099,7 @@ int ni_readpage_cmpr(struct ntfs_inode *ni, struct page *page) ...@@ -2099,7 +2099,7 @@ int ni_readpage_cmpr(struct ntfs_inode *ni, struct page *page)
gfp_t gfp_mask; gfp_t gfp_mask;
struct page *pg; struct page *pg;
if (vbo >= ni->vfs_inode.i_size) { if (vbo >= i_size_read(&ni->vfs_inode)) {
SetPageUptodate(page); SetPageUptodate(page);
err = 0; err = 0;
goto out; goto out;
...@@ -2173,7 +2173,7 @@ int ni_decompress_file(struct ntfs_inode *ni) ...@@ -2173,7 +2173,7 @@ int ni_decompress_file(struct ntfs_inode *ni)
{ {
struct ntfs_sb_info *sbi = ni->mi.sbi; struct ntfs_sb_info *sbi = ni->mi.sbi;
struct inode *inode = &ni->vfs_inode; struct inode *inode = &ni->vfs_inode;
loff_t i_size = inode->i_size; loff_t i_size = i_size_read(inode);
struct address_space *mapping = inode->i_mapping; struct address_space *mapping = inode->i_mapping;
gfp_t gfp_mask = mapping_gfp_mask(mapping); gfp_t gfp_mask = mapping_gfp_mask(mapping);
struct page **pages = NULL; struct page **pages = NULL;
...@@ -2457,6 +2457,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages, ...@@ -2457,6 +2457,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages,
struct ATTR_LIST_ENTRY *le = NULL; struct ATTR_LIST_ENTRY *le = NULL;
struct runs_tree *run = &ni->file.run; struct runs_tree *run = &ni->file.run;
u64 valid_size = ni->i_valid; u64 valid_size = ni->i_valid;
loff_t i_size = i_size_read(&ni->vfs_inode);
u64 vbo_disk; u64 vbo_disk;
size_t unc_size; size_t unc_size;
u32 frame_size, i, npages_disk, ondisk_size; u32 frame_size, i, npages_disk, ondisk_size;
...@@ -2548,7 +2549,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages, ...@@ -2548,7 +2549,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages,
} }
} }
frames = (ni->vfs_inode.i_size - 1) >> frame_bits; frames = (i_size - 1) >> frame_bits;
err = attr_wof_frame_info(ni, attr, run, frame64, frames, err = attr_wof_frame_info(ni, attr, run, frame64, frames,
frame_bits, &ondisk_size, &vbo_data); frame_bits, &ondisk_size, &vbo_data);
...@@ -2556,8 +2557,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages, ...@@ -2556,8 +2557,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64 frame_vbo, struct page **pages,
goto out2; goto out2;
if (frame64 == frames) { if (frame64 == frames) {
unc_size = 1 + ((ni->vfs_inode.i_size - 1) & unc_size = 1 + ((i_size - 1) & (frame_size - 1));
(frame_size - 1));
ondisk_size = attr_size(attr) - vbo_data; ondisk_size = attr_size(attr) - vbo_data;
} else { } else {
unc_size = frame_size; unc_size = frame_size;
......
...@@ -1462,7 +1462,7 @@ static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, ...@@ -1462,7 +1462,7 @@ static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
goto out2; goto out2;
if (in->name == I30_NAME) { if (in->name == I30_NAME) {
ni->vfs_inode.i_size = data_size; i_size_write(&ni->vfs_inode, data_size);
inode_set_bytes(&ni->vfs_inode, alloc_size); inode_set_bytes(&ni->vfs_inode, alloc_size);
} }
...@@ -1544,7 +1544,7 @@ static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, ...@@ -1544,7 +1544,7 @@ static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
} }
if (in->name == I30_NAME) if (in->name == I30_NAME)
ni->vfs_inode.i_size = data_size; i_size_write(&ni->vfs_inode, data_size);
*vbn = bit << indx->idx2vbn_bits; *vbn = bit << indx->idx2vbn_bits;
...@@ -2090,7 +2090,7 @@ static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni, ...@@ -2090,7 +2090,7 @@ static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni,
return err; return err;
if (in->name == I30_NAME) if (in->name == I30_NAME)
ni->vfs_inode.i_size = new_data; i_size_write(&ni->vfs_inode, new_data);
bpb = bitmap_size(bit); bpb = bitmap_size(bit);
if (bpb * 8 == nbits) if (bpb * 8 == nbits)
...@@ -2576,7 +2576,7 @@ int indx_delete_entry(struct ntfs_index *indx, struct ntfs_inode *ni, ...@@ -2576,7 +2576,7 @@ int indx_delete_entry(struct ntfs_index *indx, struct ntfs_inode *ni,
err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len,
&indx->alloc_run, 0, NULL, false, NULL); &indx->alloc_run, 0, NULL, false, NULL);
if (in->name == I30_NAME) if (in->name == I30_NAME)
ni->vfs_inode.i_size = 0; i_size_write(&ni->vfs_inode, 0);
err = ni_remove_attr(ni, ATTR_ALLOC, in->name, in->name_len, err = ni_remove_attr(ni, ATTR_ALLOC, in->name, in->name_len,
false, NULL); false, NULL);
......
...@@ -985,7 +985,7 @@ int ntfs_write_end(struct file *file, struct address_space *mapping, loff_t pos, ...@@ -985,7 +985,7 @@ int ntfs_write_end(struct file *file, struct address_space *mapping, loff_t pos,
} }
if (pos + err > inode->i_size) { if (pos + err > inode->i_size) {
inode->i_size = pos + err; i_size_write(inode, pos + err);
dirty = true; dirty = true;
} }
......
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