Lines Matching refs:inode

27 	struct inode vfs_inode;
32 static inline struct hostfs_inode_info *HOSTFS_I(struct inode *inode) in HOSTFS_I() argument
34 return list_entry(inode, struct hostfs_inode_info, vfs_inode); in HOSTFS_I()
128 static char *inode_name(struct inode *ino) in inode_name()
215 static struct inode *hostfs_alloc_inode(struct super_block *sb) in hostfs_alloc_inode()
230 static void hostfs_evict_inode(struct inode *inode) in hostfs_evict_inode() argument
232 truncate_inode_pages_final(&inode->i_data); in hostfs_evict_inode()
233 clear_inode(inode); in hostfs_evict_inode()
234 if (HOSTFS_I(inode)->fd != -1) { in hostfs_evict_inode()
235 close_file(&HOSTFS_I(inode)->fd); in hostfs_evict_inode()
236 HOSTFS_I(inode)->fd = -1; in hostfs_evict_inode()
237 HOSTFS_I(inode)->dev = 0; in hostfs_evict_inode()
241 static void hostfs_free_inode(struct inode *inode) in hostfs_free_inode() argument
243 kmem_cache_free(hostfs_inode_cache, HOSTFS_I(inode)); in hostfs_free_inode()
295 static int hostfs_open(struct inode *ino, struct file *file) in hostfs_open()
354 static int hostfs_file_release(struct inode *inode, struct file *file) in hostfs_file_release() argument
356 filemap_write_and_wait(inode->i_mapping); in hostfs_file_release()
364 struct inode *inode = file->f_mapping->host; in hostfs_fsync() local
371 inode_lock(inode); in hostfs_fsync()
372 ret = fsync_file(HOSTFS_I(inode)->fd, datasync); in hostfs_fsync()
373 inode_unlock(inode); in hostfs_fsync()
401 struct inode *inode = mapping->host; in hostfs_writepage() local
405 int end_index = inode->i_size >> PAGE_SHIFT; in hostfs_writepage()
409 count = inode->i_size & (PAGE_SIZE-1); in hostfs_writepage()
413 err = write_file(HOSTFS_I(inode)->fd, &base, buffer, count); in hostfs_writepage()
421 if (base > inode->i_size) in hostfs_writepage()
422 inode->i_size = base; in hostfs_writepage()
479 struct inode *inode = mapping->host; in hostfs_write_end() local
495 if (err > 0 && (pos > inode->i_size)) in hostfs_write_end()
496 inode->i_size = pos; in hostfs_write_end()
511 static int hostfs_inode_update(struct inode *ino, const struct hostfs_stat *st) in hostfs_inode_update()
526 static int hostfs_inode_set(struct inode *ino, void *data) in hostfs_inode_set()
564 static int hostfs_inode_test(struct inode *inode, void *data) in hostfs_inode_test() argument
568 return inode->i_ino == st->ino && HOSTFS_I(inode)->dev == st->dev; in hostfs_inode_test()
571 static struct inode *hostfs_iget(struct super_block *sb, char *name) in hostfs_iget()
573 struct inode *inode; in hostfs_iget() local
580 inode = iget5_locked(sb, st.ino, hostfs_inode_test, hostfs_inode_set, in hostfs_iget()
582 if (!inode) in hostfs_iget()
585 if (inode->i_state & I_NEW) { in hostfs_iget()
586 unlock_new_inode(inode); in hostfs_iget()
588 spin_lock(&inode->i_lock); in hostfs_iget()
589 hostfs_inode_update(inode, &st); in hostfs_iget()
590 spin_unlock(&inode->i_lock); in hostfs_iget()
593 return inode; in hostfs_iget()
596 static int hostfs_create(struct mnt_idmap *idmap, struct inode *dir, in hostfs_create()
599 struct inode *inode; in hostfs_create() local
613 inode = hostfs_iget(dir->i_sb, name); in hostfs_create()
615 if (IS_ERR(inode)) in hostfs_create()
616 return PTR_ERR(inode); in hostfs_create()
618 HOSTFS_I(inode)->fd = fd; in hostfs_create()
619 HOSTFS_I(inode)->mode = FMODE_READ | FMODE_WRITE; in hostfs_create()
620 d_instantiate(dentry, inode); in hostfs_create()
624 static struct dentry *hostfs_lookup(struct inode *ino, struct dentry *dentry, in hostfs_lookup()
627 struct inode *inode = NULL; in hostfs_lookup() local
634 inode = hostfs_iget(ino->i_sb, name); in hostfs_lookup()
636 if (IS_ERR(inode)) { in hostfs_lookup()
637 if (PTR_ERR(inode) == -ENOENT) in hostfs_lookup()
638 inode = NULL; in hostfs_lookup()
640 return ERR_CAST(inode); in hostfs_lookup()
643 return d_splice_alias(inode, dentry); in hostfs_lookup()
646 static int hostfs_link(struct dentry *to, struct inode *ino, in hostfs_link()
665 static int hostfs_unlink(struct inode *ino, struct dentry *dentry) in hostfs_unlink()
681 static int hostfs_symlink(struct mnt_idmap *idmap, struct inode *ino, in hostfs_symlink()
694 static int hostfs_mkdir(struct mnt_idmap *idmap, struct inode *ino, in hostfs_mkdir()
707 static int hostfs_rmdir(struct inode *ino, struct dentry *dentry) in hostfs_rmdir()
719 static int hostfs_mknod(struct mnt_idmap *idmap, struct inode *dir, in hostfs_mknod()
722 struct inode *inode; in hostfs_mknod() local
736 inode = hostfs_iget(dir->i_sb, name); in hostfs_mknod()
738 if (IS_ERR(inode)) in hostfs_mknod()
739 return PTR_ERR(inode); in hostfs_mknod()
741 d_instantiate(dentry, inode); in hostfs_mknod()
746 struct inode *old_dir, struct dentry *old_dentry, in hostfs_rename2()
747 struct inode *new_dir, struct dentry *new_dentry, in hostfs_rename2()
775 struct inode *ino, int desired) in hostfs_permission()
804 struct inode *inode = d_inode(dentry); in hostfs_setattr() local
809 int fd = HOSTFS_I(inode)->fd; in hostfs_setattr()
865 attr->ia_size != i_size_read(inode)) in hostfs_setattr()
866 truncate_setsize(inode, attr->ia_size); in hostfs_setattr()
868 setattr_copy(&nop_mnt_idmap, inode, attr); in hostfs_setattr()
869 mark_inode_dirty(inode); in hostfs_setattr()
893 struct inode *inode, in hostfs_get_link() argument
927 struct inode *root_inode; in hostfs_fill_sb_common()