Lines Matching refs:inode

17 adfs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh,  in adfs_get_block()  argument
21 if (block >= inode->i_blocks) in adfs_get_block()
24 block = __adfs_block_map(inode->i_sb, ADFS_I(inode)->indaddr, in adfs_get_block()
27 map_bh(bh, inode->i_sb, block); in adfs_get_block()
50 struct inode *inode = mapping->host; in adfs_write_failed() local
52 if (to > inode->i_size) in adfs_write_failed()
53 truncate_pagecache(inode, inode->i_size); in adfs_write_failed()
91 adfs_atts2mode(struct super_block *sb, struct inode *inode) in adfs_atts2mode() argument
93 unsigned int attr = ADFS_I(inode)->attr; in adfs_atts2mode()
102 switch (adfs_filetype(ADFS_I(inode)->loadaddr)) { in adfs_atts2mode()
134 static int adfs_mode2atts(struct super_block *sb, struct inode *inode, in adfs_mode2atts() argument
142 if (S_ISLNK(inode->i_mode)) in adfs_mode2atts()
143 return ADFS_I(inode)->attr; in adfs_mode2atts()
146 if (S_ISDIR(inode->i_mode)) in adfs_mode2atts()
174 adfs_adfs2unix_time(struct timespec64 *tv, struct inode *inode) in adfs_adfs2unix_time() argument
182 if (!adfs_inode_is_stamped(inode)) in adfs_adfs2unix_time()
185 high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */ in adfs_adfs2unix_time()
186 low = ADFS_I(inode)->execaddr; /* bottom 32 bits of timestamp */ in adfs_adfs2unix_time()
204 *tv = current_time(inode); in adfs_adfs2unix_time()
213 static void adfs_unix2adfs_time(struct inode *inode, in adfs_unix2adfs_time() argument
226 ADFS_I(inode)->loadaddr &= ~0xff; in adfs_unix2adfs_time()
227 ADFS_I(inode)->loadaddr |= (cs >> 32) & 0xff; in adfs_unix2adfs_time()
228 ADFS_I(inode)->execaddr = cs; in adfs_unix2adfs_time()
243 struct inode *
246 struct inode *inode; in adfs_iget() local
249 inode = new_inode(sb); in adfs_iget()
250 if (!inode) in adfs_iget()
253 inode->i_uid = ADFS_SB(sb)->s_uid; in adfs_iget()
254 inode->i_gid = ADFS_SB(sb)->s_gid; in adfs_iget()
255 inode->i_ino = obj->indaddr; in adfs_iget()
256 inode->i_size = obj->size; in adfs_iget()
257 set_nlink(inode, 2); in adfs_iget()
258 inode->i_blocks = (inode->i_size + sb->s_blocksize - 1) >> in adfs_iget()
267 ADFS_I(inode)->parent_id = obj->parent_id; in adfs_iget()
268 ADFS_I(inode)->indaddr = obj->indaddr; in adfs_iget()
269 ADFS_I(inode)->loadaddr = obj->loadaddr; in adfs_iget()
270 ADFS_I(inode)->execaddr = obj->execaddr; in adfs_iget()
271 ADFS_I(inode)->attr = obj->attr; in adfs_iget()
273 inode->i_mode = adfs_atts2mode(sb, inode); in adfs_iget()
274 adfs_adfs2unix_time(&ts, inode); in adfs_iget()
275 inode_set_atime_to_ts(inode, ts); in adfs_iget()
276 inode_set_mtime_to_ts(inode, ts); in adfs_iget()
277 inode_set_ctime_to_ts(inode, ts); in adfs_iget()
279 if (S_ISDIR(inode->i_mode)) { in adfs_iget()
280 inode->i_op = &adfs_dir_inode_operations; in adfs_iget()
281 inode->i_fop = &adfs_dir_operations; in adfs_iget()
282 } else if (S_ISREG(inode->i_mode)) { in adfs_iget()
283 inode->i_op = &adfs_file_inode_operations; in adfs_iget()
284 inode->i_fop = &adfs_file_operations; in adfs_iget()
285 inode->i_mapping->a_ops = &adfs_aops; in adfs_iget()
286 ADFS_I(inode)->mmu_private = inode->i_size; in adfs_iget()
289 inode_fake_hash(inode); in adfs_iget()
292 return inode; in adfs_iget()
304 struct inode *inode = d_inode(dentry); in adfs_notify_change() local
305 struct super_block *sb = inode->i_sb; in adfs_notify_change()
324 truncate_setsize(inode, attr->ia_size); in adfs_notify_change()
326 if (ia_valid & ATTR_MTIME && adfs_inode_is_stamped(inode)) { in adfs_notify_change()
327 adfs_unix2adfs_time(inode, &attr->ia_mtime); in adfs_notify_change()
328 adfs_adfs2unix_time(&attr->ia_mtime, inode); in adfs_notify_change()
329 inode_set_mtime_to_ts(inode, attr->ia_mtime); in adfs_notify_change()
337 inode_set_atime_to_ts(inode, attr->ia_atime); in adfs_notify_change()
339 inode_set_ctime_to_ts(inode, attr->ia_ctime); in adfs_notify_change()
341 ADFS_I(inode)->attr = adfs_mode2atts(sb, inode, attr->ia_mode); in adfs_notify_change()
342 inode->i_mode = adfs_atts2mode(sb, inode); in adfs_notify_change()
350 mark_inode_dirty(inode); in adfs_notify_change()
360 int adfs_write_inode(struct inode *inode, struct writeback_control *wbc) in adfs_write_inode() argument
362 struct super_block *sb = inode->i_sb; in adfs_write_inode()
365 obj.indaddr = ADFS_I(inode)->indaddr; in adfs_write_inode()
367 obj.parent_id = ADFS_I(inode)->parent_id; in adfs_write_inode()
368 obj.loadaddr = ADFS_I(inode)->loadaddr; in adfs_write_inode()
369 obj.execaddr = ADFS_I(inode)->execaddr; in adfs_write_inode()
370 obj.attr = ADFS_I(inode)->attr; in adfs_write_inode()
371 obj.size = inode->i_size; in adfs_write_inode()