Lines Matching refs:inode

17 static int hpfs_file_release(struct inode *inode, struct file *file)  in hpfs_file_release()  argument
19 hpfs_lock(inode->i_sb); in hpfs_file_release()
20 hpfs_write_if_changed(inode); in hpfs_file_release()
21 hpfs_unlock(inode->i_sb); in hpfs_file_release()
27 struct inode *inode = file->f_mapping->host; in hpfs_file_fsync() local
33 return sync_blockdev(inode->i_sb->s_bdev); in hpfs_file_fsync()
41 static secno hpfs_bmap(struct inode *inode, unsigned file_secno, unsigned *n_secs) in hpfs_bmap() argument
43 struct hpfs_inode_info *hpfs_inode = hpfs_i(inode); in hpfs_bmap()
47 if (BLOCKS(hpfs_i(inode)->mmu_private) <= file_secno) return 0; in hpfs_bmap()
53 if (!(fnode = hpfs_map_fnode(inode->i_sb, inode->i_ino, &bh))) return 0; in hpfs_bmap()
54 disk_secno = hpfs_bplus_lookup(inode->i_sb, inode, &fnode->btree, file_secno, bh); in hpfs_bmap()
56 if (hpfs_chk_sectors(inode->i_sb, disk_secno, 1, "bmap")) return 0; in hpfs_bmap()
66 void hpfs_truncate(struct inode *i) in hpfs_truncate()
79 static int hpfs_get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int … in hpfs_get_block() argument
84 hpfs_lock(inode->i_sb); in hpfs_get_block()
85 s = hpfs_bmap(inode, iblock, &n_secs); in hpfs_get_block()
89 n_secs = hpfs_search_hotfix_map_for_range(inode->i_sb, s, n_secs); in hpfs_get_block()
91 s = hpfs_search_hotfix_map(inode->i_sb, s); in hpfs_get_block()
94 map_bh(bh_result, inode->i_sb, s); in hpfs_get_block()
99 if (iblock<<9 != hpfs_i(inode)->mmu_private) { in hpfs_get_block()
104 if ((s = hpfs_add_sector_to_btree(inode->i_sb, inode->i_ino, 1, inode->i_blocks - 1)) == -1) { in hpfs_get_block()
105 hpfs_truncate_btree(inode->i_sb, inode->i_ino, 1, inode->i_blocks - 1); in hpfs_get_block()
109 inode->i_blocks++; in hpfs_get_block()
110 hpfs_i(inode)->mmu_private += 512; in hpfs_get_block()
112 map_bh(bh_result, inode->i_sb, hpfs_search_hotfix_map(inode->i_sb, s)); in hpfs_get_block()
116 hpfs_unlock(inode->i_sb); in hpfs_get_block()
120 static int hpfs_iomap_begin(struct inode *inode, loff_t offset, loff_t length, in hpfs_iomap_begin() argument
123 struct super_block *sb = inode->i_sb; in hpfs_iomap_begin()
124 unsigned int blkbits = inode->i_blkbits; in hpfs_iomap_begin()
131 iomap->bdev = inode->i_sb->s_bdev; in hpfs_iomap_begin()
135 s = hpfs_bmap(inode, offset >> blkbits, &n_secs); in hpfs_iomap_begin()
179 struct inode *inode = mapping->host; in hpfs_write_failed() local
181 hpfs_lock(inode->i_sb); in hpfs_write_failed()
183 if (to > inode->i_size) { in hpfs_write_failed()
184 truncate_pagecache(inode, inode->i_size); in hpfs_write_failed()
185 hpfs_truncate(inode); in hpfs_write_failed()
188 hpfs_unlock(inode->i_sb); in hpfs_write_failed()
210 struct inode *inode = mapping->host; in hpfs_write_end() local
217 hpfs_lock(inode->i_sb); in hpfs_write_end()
218 hpfs_i(inode)->i_dirty = 1; in hpfs_write_end()
219 hpfs_unlock(inode->i_sb); in hpfs_write_end()
229 static int hpfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len) in hpfs_fiemap() argument
233 inode_lock(inode); in hpfs_fiemap()
234 len = min_t(u64, len, i_size_read(inode)); in hpfs_fiemap()
235 ret = iomap_fiemap(inode, fieinfo, start, len, &hpfs_iomap_ops); in hpfs_fiemap()
236 inode_unlock(inode); in hpfs_fiemap()