Lines Matching refs:inode

23 static struct inode *ntfs_read_mft(struct inode *inode,
28 struct ntfs_inode *ni = ntfs_i(inode);
29 struct super_block *sb = inode->i_sb;
38 unsigned long ino = inode->i_ino;
49 inode->i_op = NULL;
51 inode->i_uid = sbi->options->fs_uid;
52 inode->i_gid = sbi->options->fs_gid;
91 /* Bad inode? */
110 inode->i_generation = le16_to_cpu(rec->seq);
173 inode_set_atime_to_ts(inode, ts);
175 inode_set_ctime_to_ts(inode, ts);
177 inode_set_mtime_to_ts(inode, ts);
251 ni->i_valid = inode->i_size = rsize;
252 inode_set_bytes(inode, rsize);
262 inode_set_bytes(inode, attr_ondisk_size(attr));
265 inode->i_size = le64_to_cpu(attr->nres.data_size);
307 inode->i_size = le64_to_cpu(attr->nres.data_size);
309 inode_set_bytes(inode, le64_to_cpu(attr->nres.alloc_size));
345 inode->i_size = le16_to_cpu(rp.SymbolicLinkReparseBuffer
348 ni->i_valid = inode->i_size;
378 * ntfs_get_wsl_perm updates inode->i_uid, inode->i_gid, inode->i_mode
380 inode->i_mode = mode;
381 ntfs_get_wsl_perm(inode);
382 mode = inode->i_mode;
426 /* Correct minor error on the fly. Do not mark inode as dirty. */
427 ntfs_inode_warn(inode, "Correct links count -> %u.", names);
432 set_nlink(inode, names);
442 inode->i_op = &ntfs_dir_inode_operations;
443 if (is_legacy_ntfs(inode->i_sb))
444 inode->i_fop = &ntfs_legacy_dir_operations;
446 inode->i_fop = &ntfs_dir_operations;
450 inode->i_op = &ntfs_link_inode_operations;
451 inode->i_fop = NULL;
452 inode_nohighmem(inode);
455 inode->i_op = &ntfs_file_inode_operations;
456 if (is_legacy_ntfs(inode->i_sb))
457 inode->i_fop = &ntfs_legacy_file_operations;
459 inode->i_fop = &ntfs_file_operations;
460 inode->i_mapping->a_ops = is_compressed(ni) ? &ntfs_aops_cmpr :
466 inode->i_op = &ntfs_special_inode_operations;
467 init_special_inode(inode, mode, inode->i_rdev);
471 inode->i_op = &ntfs_file_inode_operations;
480 inode->i_flags |= S_IMMUTABLE;
482 inode->i_flags &= ~S_IMMUTABLE;
485 inode->i_mode = mode;
488 inode->i_flags |= S_NOSEC;
494 unlock_new_inode(inode);
496 return inode;
502 iget_failed(inode);
511 static int ntfs_test_inode(struct inode *inode, void *data)
515 return ino_get(ref) == inode->i_ino;
518 static int ntfs_set_inode(struct inode *inode, void *data)
522 inode->i_ino = ino_get(ref);
526 struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref,
529 struct inode *inode;
531 inode = iget5_locked(sb, ino_get(ref), ntfs_test_inode, ntfs_set_inode,
533 if (unlikely(!inode))
536 /* If this is a freshly allocated inode, need to read it now. */
537 if (inode->i_state & I_NEW)
538 inode = ntfs_read_mft(inode, name, ref);
539 else if (ref->seq != ntfs_i(inode)->mi.mrec->seq) {
541 _ntfs_bad_inode(inode);
544 if (IS_ERR(inode) && name)
547 return inode;
558 static noinline int ntfs_get_block_vbo(struct inode *inode, u64 vbo,
562 struct super_block *sb = inode->i_sb;
564 struct ntfs_inode *ni = ntfs_i(inode);
637 mark_inode_dirty(inode);
685 int ntfs_get_block(struct inode *inode, sector_t vbn,
688 return ntfs_get_block_vbo(inode, (u64)vbn << inode->i_blkbits,
692 static int ntfs_get_block_bmap(struct inode *inode, sector_t vsn,
695 return ntfs_get_block_vbo(inode,
696 (u64)vsn << inode->i_sb->s_blocksize_bits,
710 struct inode *inode = mapping->host;
711 struct ntfs_inode *ni = ntfs_i(inode);
737 struct inode *inode = mapping->host;
738 struct ntfs_inode *ni = ntfs_i(inode);
755 if (valid < i_size_read(inode) && pos <= valid &&
764 static int ntfs_get_block_direct_IO_R(struct inode *inode, sector_t iblock,
767 return ntfs_get_block_vbo(inode, (u64)iblock << inode->i_blkbits,
771 static int ntfs_get_block_direct_IO_W(struct inode *inode, sector_t iblock,
774 return ntfs_get_block_vbo(inode, (u64)iblock << inode->i_blkbits,
782 struct inode *inode = mapping->host;
783 struct ntfs_inode *ni = ntfs_i(inode);
797 ret = blockdev_direct_IO(iocb, inode, iter,
810 if (end > valid && !S_ISBLK(inode->i_mode)) {
812 mark_inode_dirty(inode);
824 int ntfs_set_size(struct inode *inode, u64 new_size)
826 struct super_block *sb = inode->i_sb;
828 struct ntfs_inode *ni = ntfs_i(inode);
851 mark_inode_dirty(inode);
861 struct inode *inode = mapping->host;
862 struct ntfs_inode *ni = ntfs_i(inode);
865 if (unlikely(ntfs3_forced_shutdown(inode->i_sb)))
881 struct inode *inode = mapping->host;
883 if (unlikely(ntfs3_forced_shutdown(inode->i_sb)))
886 if (is_resident(ntfs_i(inode)))
892 static int ntfs_get_block_write_begin(struct inode *inode, sector_t vbn,
895 return ntfs_get_block_vbo(inode, (u64)vbn << inode->i_blkbits,
903 struct inode *inode = mapping->host;
904 struct ntfs_inode *ni = ntfs_i(inode);
906 if (unlikely(ntfs3_forced_shutdown(inode->i_sb)))
947 struct inode *inode = mapping->host;
948 struct ntfs_inode *ni = ntfs_i(inode);
982 inode_set_mtime_to_ts(inode,
983 inode_set_ctime_current(inode));
993 if (pos + err > inode->i_size) {
994 i_size_write(inode, pos + err);
999 mark_inode_dirty(inode);
1005 int reset_log_file(struct inode *inode)
1009 u32 log_size = inode->i_size;
1010 struct address_space *mapping = inode->i_mapping;
1039 mark_inode_dirty_sync(inode);
1044 int ntfs3_write_inode(struct inode *inode, struct writeback_control *wbc)
1046 return _ni_write_inode(inode, wbc->sync_mode == WB_SYNC_ALL);
1049 int ntfs_sync_inode(struct inode *inode)
1051 return _ni_write_inode(inode, 1);
1057 * This writes both the inode and the file data blocks, waiting
1061 static int writeback_inode(struct inode *inode)
1063 int ret = sync_inode_metadata(inode, 0);
1066 ret = filemap_fdatawrite(inode->i_mapping);
1080 int ntfs_flush_inodes(struct super_block *sb, struct inode *i1,
1081 struct inode *i2)
1094 int inode_write_data(struct inode *inode, const void *data, size_t bytes)
1101 struct page *page = ntfs_map_page(inode->i_mapping, idx);
1219 struct inode *ntfs_create_inode(struct mnt_idmap *idmap, struct inode *dir,
1232 struct inode *inode = NULL;
1286 * struct inode *target = d_inode(path.dentry);
1345 inode = &ni->vfs_inode;
1346 inode_init_owner(idmap, inode, dir, mode);
1347 mode = inode->i_mode;
1349 ni->i_crtime = current_time(inode);
1601 inode->i_size = size;
1619 inode->i_generation = le16_to_cpu(rec->seq);
1622 inode->i_op = &ntfs_dir_inode_operations;
1623 if (is_legacy_ntfs(inode->i_sb))
1624 inode->i_fop = &ntfs_legacy_dir_operations;
1626 inode->i_fop = &ntfs_dir_operations;
1628 inode->i_op = &ntfs_link_inode_operations;
1629 inode->i_fop = NULL;
1630 inode->i_mapping->a_ops = &ntfs_aops;
1631 inode->i_size = size;
1632 inode_nohighmem(inode);
1634 inode->i_op = &ntfs_file_inode_operations;
1635 if (is_legacy_ntfs(inode->i_sb))
1636 inode->i_fop = &ntfs_legacy_file_operations;
1638 inode->i_fop = &ntfs_file_operations;
1639 inode->i_mapping->a_ops = is_compressed(ni) ? &ntfs_aops_cmpr :
1643 inode->i_op = &ntfs_special_inode_operations;
1644 init_special_inode(inode, mode, dev);
1649 err = ntfs_init_acl(idmap, inode, dir);
1655 inode->i_flags |= S_NOSEC;
1663 ntfs_save_wsl_perm(inode, &fname->dup.ea_size);
1688 * Call 'd_instantiate' after inode->i_op is set
1691 d_instantiate(dentry, inode);
1693 /* Set original time. inode times (i_ctime) may be changed in ntfs_init_acl. */
1694 inode_set_atime_to_ts(inode, ni->i_crtime);
1695 inode_set_ctime_to_ts(inode, ni->i_crtime);
1696 inode_set_mtime_to_ts(inode, ni->i_crtime);
1701 mark_inode_dirty(inode);
1716 clear_nlink(inode);
1718 discard_new_inode(inode);
1733 unlock_new_inode(inode);
1735 return inode;
1738 int ntfs_link_inode(struct inode *inode, struct dentry *dentry)
1741 struct ntfs_inode *ni = ntfs_i(inode);
1742 struct ntfs_sb_info *sbi = inode->i_sb->s_fs_info;
1770 int ntfs_unlink_inode(struct inode *dir, const struct dentry *dentry)
1774 struct inode *inode = d_inode(dentry);
1775 struct ntfs_inode *ni = ntfs_i(inode);
1790 if (S_ISDIR(inode->i_mode) && !dir_is_empty(inode)) {
1803 drop_nlink(inode);
1806 inode_set_ctime_to_ts(inode, inode_get_ctime(dir));
1807 if (inode->i_nlink)
1808 mark_inode_dirty(inode);
1810 _ntfs_bad_inode(inode);
1814 if (ni_is_dirty(inode))
1815 mark_inode_dirty(inode);
1824 void ntfs_evict_inode(struct inode *inode)
1826 truncate_inode_pages_final(&inode->i_data);
1828 invalidate_inode_buffers(inode);
1829 clear_inode(inode);
1831 ni_clear(ntfs_i(inode));
1930 struct inode *inode, char *buffer,
1934 struct ntfs_inode *ni = ntfs_i(inode);
1935 struct super_block *sb = inode->i_sb;
2083 static const char *ntfs_get_link(struct dentry *de, struct inode *inode,
2096 err = ntfs_readlink_hlp(de, inode, ret, PAGE_SIZE);