Lines Matching refs:inode

56 static int read_block(struct inode *inode, void *addr, unsigned int block,  in read_block()  argument
59 struct ubifs_info *c = inode->i_sb->s_fs_info; in read_block()
64 data_key_init(c, &key, inode->i_ino, block); in read_block()
74 ubifs_inode(inode)->creat_sqnum); in read_block()
98 block, inode->i_ino); in read_block()
109 struct inode *inode = page->mapping->host; in do_readpage() local
110 loff_t i_size = i_size_read(inode); in do_readpage()
113 inode->i_ino, page->index, i_size, page->flags); in do_readpage()
143 ret = read_block(inode, addr, block, dn); in do_readpage()
162 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_readpage()
170 page->index, inode->i_ino, err); in do_readpage()
224 struct inode *inode = mapping->host; in write_begin_slow() local
225 struct ubifs_info *c = inode->i_sb->s_fs_info; in write_begin_slow()
228 int uninitialized_var(err), appending = !!(pos + len > inode->i_size); in write_begin_slow()
232 inode->i_ino, pos, len, inode->i_size); in write_begin_slow()
295 struct ubifs_inode *ui = ubifs_inode(inode); in write_begin_slow()
428 struct inode *inode = mapping->host; in ubifs_write_begin() local
429 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_begin()
430 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_write_begin()
432 int uninitialized_var(err), appending = !!(pos + len > inode->i_size); in ubifs_write_begin()
436 ubifs_assert(ubifs_inode(inode)->ui_size == inode->i_size); in ubifs_write_begin()
543 struct inode *inode = mapping->host; in ubifs_write_end() local
544 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_write_end()
545 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_write_end()
547 int appending = !!(end_pos > inode->i_size); in ubifs_write_end()
550 inode->i_ino, pos, page->index, len, copied, inode->i_size); in ubifs_write_end()
582 i_size_write(inode, end_pos); in ubifs_write_end()
589 __mark_inode_dirty(inode, I_DIRTY_DATASYNC); in ubifs_write_end()
613 struct inode *inode = page->mapping->host; in populate_page() local
614 loff_t i_size = i_size_read(inode); in populate_page()
620 inode->i_ino, page->index, i_size, page->flags); in populate_page()
644 ubifs_inode(inode)->creat_sqnum); in populate_page()
701 page_block, inode->i_ino); in populate_page()
718 struct inode *inode = mapping->host; in ubifs_do_bulk_read() local
719 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_do_bulk_read()
773 isize = i_size_read(inode); in ubifs_do_bulk_read()
823 struct inode *inode = page->mapping->host; in ubifs_bulk_read() local
824 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_bulk_read()
825 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_bulk_read()
873 data_key_init(c, &bu->key, inode->i_ino, in ubifs_bulk_read()
902 struct inode *inode = page->mapping->host; in do_writepage() local
903 struct ubifs_info *c = inode->i_sb->s_fs_info; in do_writepage()
906 struct ubifs_inode *ui = ubifs_inode(inode); in do_writepage()
920 data_key_init(c, &key, inode->i_ino, block); in do_writepage()
921 err = ubifs_jnl_write_data(c, inode, &key, addr, blen); in do_writepage()
933 page->index, inode->i_ino, err); in do_writepage()
1001 struct inode *inode = page->mapping->host; in ubifs_writepage() local
1002 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_writepage()
1003 loff_t i_size = i_size_read(inode), synced_i_size; in ubifs_writepage()
1009 inode->i_ino, page->index, page->flags); in ubifs_writepage()
1025 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_writepage()
1053 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_writepage()
1070 static void do_attr_changes(struct inode *inode, const struct iattr *attr) in do_attr_changes() argument
1073 inode->i_uid = attr->ia_uid; in do_attr_changes()
1075 inode->i_gid = attr->ia_gid; in do_attr_changes()
1077 inode->i_atime = timespec_trunc(attr->ia_atime, in do_attr_changes()
1078 inode->i_sb->s_time_gran); in do_attr_changes()
1080 inode->i_mtime = timespec_trunc(attr->ia_mtime, in do_attr_changes()
1081 inode->i_sb->s_time_gran); in do_attr_changes()
1083 inode->i_ctime = timespec_trunc(attr->ia_ctime, in do_attr_changes()
1084 inode->i_sb->s_time_gran); in do_attr_changes()
1088 if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) in do_attr_changes()
1090 inode->i_mode = mode; in do_attr_changes()
1104 static int do_truncation(struct ubifs_info *c, struct inode *inode, in do_truncation() argument
1109 loff_t old_size = inode->i_size, new_size = attr->ia_size; in do_truncation()
1111 struct ubifs_inode *ui = ubifs_inode(inode); in do_truncation()
1113 dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size); in do_truncation()
1138 truncate_setsize(inode, new_size); in do_truncation()
1144 page = find_lock_page(inode->i_mapping, index); in do_truncation()
1182 ui->ui_size = inode->i_size; in do_truncation()
1184 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in do_truncation()
1186 do_attr_changes(inode, attr); in do_truncation()
1187 err = ubifs_jnl_truncate(c, inode, old_size, new_size); in do_truncation()
1210 static int do_setattr(struct ubifs_info *c, struct inode *inode, in do_setattr() argument
1215 struct ubifs_inode *ui = ubifs_inode(inode); in do_setattr()
1224 dbg_gen("size %lld -> %lld", inode->i_size, new_size); in do_setattr()
1225 truncate_setsize(inode, new_size); in do_setattr()
1231 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in do_setattr()
1233 ui->ui_size = inode->i_size; in do_setattr()
1236 do_attr_changes(inode, attr); in do_setattr()
1244 __mark_inode_dirty(inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); in do_setattr()
1246 mark_inode_dirty_sync(inode); in do_setattr()
1251 if (IS_SYNC(inode)) in do_setattr()
1252 err = inode->i_sb->s_op->write_inode(inode, NULL); in do_setattr()
1259 struct inode *inode = d_inode(dentry); in ubifs_setattr() local
1260 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_setattr()
1263 inode->i_ino, inode->i_mode, attr->ia_valid); in ubifs_setattr()
1264 err = inode_change_ok(inode, attr); in ubifs_setattr()
1268 err = dbg_check_synced_i_size(c, inode); in ubifs_setattr()
1272 if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size < inode->i_size) in ubifs_setattr()
1274 err = do_truncation(c, inode, attr); in ubifs_setattr()
1276 err = do_setattr(c, inode, attr); in ubifs_setattr()
1284 struct inode *inode = page->mapping->host; in ubifs_invalidatepage() local
1285 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_invalidatepage()
1304 struct inode *inode = file->f_mapping->host; in ubifs_fsync() local
1305 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_fsync()
1308 dbg_gen("syncing inode %lu", inode->i_ino); in ubifs_fsync()
1317 err = filemap_write_and_wait_range(inode->i_mapping, start, end); in ubifs_fsync()
1320 mutex_lock(&inode->i_mutex); in ubifs_fsync()
1323 if (!datasync || (inode->i_state & I_DIRTY_DATASYNC)) { in ubifs_fsync()
1324 err = inode->i_sb->s_op->write_inode(inode, NULL); in ubifs_fsync()
1333 err = ubifs_sync_wbufs_by_inode(c, inode); in ubifs_fsync()
1335 mutex_unlock(&inode->i_mutex); in ubifs_fsync()
1348 static inline int mctime_update_needed(const struct inode *inode, in mctime_update_needed() argument
1351 if (!timespec_equal(&inode->i_mtime, now) || in mctime_update_needed()
1352 !timespec_equal(&inode->i_ctime, now)) in mctime_update_needed()
1364 int ubifs_update_time(struct inode *inode, struct timespec *time, in ubifs_update_time() argument
1367 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_update_time()
1368 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_update_time()
1380 inode->i_atime = *time; in ubifs_update_time()
1382 inode->i_ctime = *time; in ubifs_update_time()
1384 inode->i_mtime = *time; in ubifs_update_time()
1386 if (!(inode->i_sb->s_flags & MS_LAZYTIME)) in ubifs_update_time()
1390 __mark_inode_dirty(inode, iflags); in ubifs_update_time()
1406 static int update_mctime(struct inode *inode) in update_mctime() argument
1408 struct timespec now = ubifs_current_time(inode); in update_mctime()
1409 struct ubifs_inode *ui = ubifs_inode(inode); in update_mctime()
1410 struct ubifs_info *c = inode->i_sb->s_fs_info; in update_mctime()
1412 if (mctime_update_needed(inode, &now)) { in update_mctime()
1422 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in update_mctime()
1424 mark_inode_dirty_sync(inode); in update_mctime()
1478 struct inode *inode = file_inode(vma->vm_file); in ubifs_vm_page_mkwrite() local
1479 struct ubifs_info *c = inode->i_sb->s_fs_info; in ubifs_vm_page_mkwrite()
1480 struct timespec now = ubifs_current_time(inode); in ubifs_vm_page_mkwrite()
1484 dbg_gen("ino %lu, pg %lu, i_size %lld", inode->i_ino, page->index, in ubifs_vm_page_mkwrite()
1485 i_size_read(inode)); in ubifs_vm_page_mkwrite()
1509 update_time = mctime_update_needed(inode, &now); in ubifs_vm_page_mkwrite()
1521 inode->i_ino); in ubifs_vm_page_mkwrite()
1526 if (unlikely(page->mapping != inode->i_mapping || in ubifs_vm_page_mkwrite()
1527 page_offset(page) > i_size_read(inode))) { in ubifs_vm_page_mkwrite()
1545 struct ubifs_inode *ui = ubifs_inode(inode); in ubifs_vm_page_mkwrite()
1548 inode->i_mtime = inode->i_ctime = ubifs_current_time(inode); in ubifs_vm_page_mkwrite()
1550 mark_inode_dirty_sync(inode); in ubifs_vm_page_mkwrite()