Lines Matching refs:inode
57 static int read_block(struct inode *inode, void *addr, unsigned int block, in read_block() argument
60 struct ubifs_info *c = inode->i_sb->s_fs_info; in read_block()
65 data_key_init(c, &key, inode->i_ino, block); in read_block()
75 ubifs_inode(inode)->creat_sqnum); in read_block()
99 block, inode->i_ino); in read_block()
110 struct inode *inode = page->mapping->host; in do_readpage() local
111 loff_t i_size = i_size_read(inode); in do_readpage()
114 inode->i_ino, page->index, i_size, page->flags); in do_readpage()
144 ret = read_block(inode, addr, block, dn); in do_readpage()
163 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_readpage()
171 page->index, inode->i_ino, err); in do_readpage()
225 struct inode *inode = mapping->host; in write_begin_slow() local
226 struct ubifs_info *c = inode->i_sb->s_fs_info; in write_begin_slow()
229 int uninitialized_var(err), appending = !!(pos + len > inode->i_size); in write_begin_slow()
233 inode->i_ino, pos, len, inode->i_size); in write_begin_slow()
296 struct ubifs_inode *ui = ubifs_inode(inode); in write_begin_slow()
429 struct inode *inode = mapping->host; in ubifs_write_begin() local
430 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_begin()
431 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_write_begin()
433 int uninitialized_var(err), appending = !!(pos + len > inode->i_size); in ubifs_write_begin()
437 ubifs_assert(ubifs_inode(inode)->ui_size == inode->i_size); in ubifs_write_begin()
544 struct inode *inode = mapping->host; in ubifs_write_end() local
545 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_write_end()
546 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_end()
548 int appending = !!(end_pos > inode->i_size); in ubifs_write_end()
551 inode->i_ino, pos, page->index, len, copied, inode->i_size); in ubifs_write_end()
583 i_size_write(inode, end_pos); in ubifs_write_end()
590 __mark_inode_dirty(inode, I_DIRTY_DATASYNC); in ubifs_write_end()
614 struct inode *inode = page->mapping->host; in populate_page() local
615 loff_t i_size = i_size_read(inode); in populate_page()
621 inode->i_ino, page->index, i_size, page->flags); in populate_page()
645 ubifs_inode(inode)->creat_sqnum); in populate_page()
702 page_block, inode->i_ino); in populate_page()
719 struct inode *inode = mapping->host; in ubifs_do_bulk_read() local
720 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_do_bulk_read()
774 isize = i_size_read(inode); in ubifs_do_bulk_read()
824 struct inode *inode = page->mapping->host; in ubifs_bulk_read() local
825 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_bulk_read()
826 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_bulk_read()
874 data_key_init(c, &bu->key, inode->i_ino, in ubifs_bulk_read()
903 struct inode *inode = page->mapping->host; in do_writepage() local
904 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_writepage()
907 struct ubifs_inode *ui = ubifs_inode(inode); in do_writepage()
921 data_key_init(c, &key, inode->i_ino, block); in do_writepage()
922 err = ubifs_jnl_write_data(c, inode, &key, addr, blen); in do_writepage()
934 page->index, inode->i_ino, err); in do_writepage()
1002 struct inode *inode = page->mapping->host; in ubifs_writepage() local
1003 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_writepage()
1004 loff_t i_size = i_size_read(inode), synced_i_size; in ubifs_writepage()
1010 inode->i_ino, page->index, page->flags); in ubifs_writepage()
1026 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_writepage()
1054 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_writepage()
1071 static void do_attr_changes(struct inode *inode, const struct iattr *attr) in do_attr_changes() argument
1074 inode->i_uid = attr->ia_uid; in do_attr_changes()
1076 inode->i_gid = attr->ia_gid; in do_attr_changes()
1078 inode->i_atime = timespec_trunc(attr->ia_atime, in do_attr_changes()
1079 inode->i_sb->s_time_gran); in do_attr_changes()
1081 inode->i_mtime = timespec_trunc(attr->ia_mtime, in do_attr_changes()
1082 inode->i_sb->s_time_gran); in do_attr_changes()
1084 inode->i_ctime = timespec_trunc(attr->ia_ctime, in do_attr_changes()
1085 inode->i_sb->s_time_gran); in do_attr_changes()
1089 if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) in do_attr_changes()
1091 inode->i_mode = mode; in do_attr_changes()
1105 static int do_truncation(struct ubifs_info *c, struct inode *inode, in do_truncation() argument
1110 loff_t old_size = inode->i_size, new_size = attr->ia_size; in do_truncation()
1112 struct ubifs_inode *ui = ubifs_inode(inode); in do_truncation()
1114 dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size); in do_truncation()
1139 truncate_setsize(inode, new_size); in do_truncation()
1145 page = find_lock_page(inode->i_mapping, index); in do_truncation()
1183 ui->ui_size = inode->i_size; in do_truncation()
1185 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in do_truncation()
1187 do_attr_changes(inode, attr); in do_truncation()
1188 err = ubifs_jnl_truncate(c, inode, old_size, new_size); in do_truncation()
1211 static int do_setattr(struct ubifs_info *c, struct inode *inode, in do_setattr() argument
1216 struct ubifs_inode *ui = ubifs_inode(inode); in do_setattr()
1225 dbg_gen("size %lld -> %lld", inode->i_size, new_size); in do_setattr()
1226 truncate_setsize(inode, new_size); in do_setattr()
1232 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in do_setattr()
1234 ui->ui_size = inode->i_size; in do_setattr()
1237 do_attr_changes(inode, attr); in do_setattr()
1245 __mark_inode_dirty(inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); in do_setattr()
1247 mark_inode_dirty_sync(inode); in do_setattr()
1252 if (IS_SYNC(inode)) in do_setattr()
1253 err = inode->i_sb->s_op->write_inode(inode, NULL); in do_setattr()
1260 struct inode *inode = d_inode(dentry); in ubifs_setattr() local
1261 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_setattr()
1264 inode->i_ino, inode->i_mode, attr->ia_valid); in ubifs_setattr()
1265 err = inode_change_ok(inode, attr); in ubifs_setattr()
1269 err = dbg_check_synced_i_size(c, inode); in ubifs_setattr()
1273 if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size < inode->i_size) in ubifs_setattr()
1275 err = do_truncation(c, inode, attr); in ubifs_setattr()
1277 err = do_setattr(c, inode, attr); in ubifs_setattr()
1285 struct inode *inode = page->mapping->host; in ubifs_invalidatepage() local
1286 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_invalidatepage()
1313 struct inode *inode = file->f_mapping->host; in ubifs_fsync() local
1314 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_fsync()
1317 dbg_gen("syncing inode %lu", inode->i_ino); in ubifs_fsync()
1326 err = filemap_write_and_wait_range(inode->i_mapping, start, end); in ubifs_fsync()
1329 mutex_lock(&inode->i_mutex); in ubifs_fsync()
1332 if (!datasync || (inode->i_state & I_DIRTY_DATASYNC)) { in ubifs_fsync()
1333 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_fsync()
1342 err = ubifs_sync_wbufs_by_inode(c, inode); in ubifs_fsync()
1344 mutex_unlock(&inode->i_mutex); in ubifs_fsync()
1357 static inline int mctime_update_needed(const struct inode *inode, in mctime_update_needed() argument
1360 if (!timespec_equal(&inode->i_mtime, now) || in mctime_update_needed()
1361 !timespec_equal(&inode->i_ctime, now)) in mctime_update_needed()
1374 static int update_mctime(struct inode *inode) in update_mctime() argument
1376 struct timespec now = ubifs_current_time(inode); in update_mctime()
1377 struct ubifs_inode *ui = ubifs_inode(inode); in update_mctime()
1378 struct ubifs_info *c = inode->i_sb->s_fs_info; in update_mctime()
1380 if (mctime_update_needed(inode, &now)) { in update_mctime()
1390 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in update_mctime()
1392 mark_inode_dirty_sync(inode); in update_mctime()
1446 struct inode *inode = file_inode(vma->vm_file); in ubifs_vm_page_mkwrite() local
1447 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_vm_page_mkwrite()
1448 struct timespec now = ubifs_current_time(inode); in ubifs_vm_page_mkwrite()
1452 dbg_gen("ino %lu, pg %lu, i_size %lld", inode->i_ino, page->index, in ubifs_vm_page_mkwrite()
1453 i_size_read(inode)); in ubifs_vm_page_mkwrite()
1477 update_time = mctime_update_needed(inode, &now); in ubifs_vm_page_mkwrite()
1489 inode->i_ino); in ubifs_vm_page_mkwrite()
1494 if (unlikely(page->mapping != inode->i_mapping || in ubifs_vm_page_mkwrite()
1495 page_offset(page) > i_size_read(inode))) { in ubifs_vm_page_mkwrite()
1513 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_vm_page_mkwrite()
1516 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in ubifs_vm_page_mkwrite()
1518 mark_inode_dirty_sync(inode); in ubifs_vm_page_mkwrite()