Lines Matching refs:inode

73 # define ea_idebug(inode, f...) do { \  argument
75 inode->i_sb->s_id, inode->i_ino); \
92 static int ext2_xattr_set2(struct inode *, struct buffer_head *,
96 static struct buffer_head *ext2_xattr_cache_find(struct inode *,
149 ext2_xattr_get(struct inode *inode, int name_index, const char *name, in ext2_xattr_get() argument
158 ea_idebug(inode, "name=%d.%s, buffer=%p, buffer_size=%ld", in ext2_xattr_get()
167 down_read(&EXT2_I(inode)->xattr_sem); in ext2_xattr_get()
169 if (!EXT2_I(inode)->i_file_acl) in ext2_xattr_get()
171 ea_idebug(inode, "reading block %d", EXT2_I(inode)->i_file_acl); in ext2_xattr_get()
172 bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl); in ext2_xattr_get()
181 bad_block: ext2_error(inode->i_sb, "ext2_xattr_get", in ext2_xattr_get()
182 "inode %ld: bad block %d", inode->i_ino, in ext2_xattr_get()
183 EXT2_I(inode)->i_file_acl); in ext2_xattr_get()
202 ea_idebug(inode, "cache insert failed"); in ext2_xattr_get()
210 if (size > inode->i_sb->s_blocksize || in ext2_xattr_get()
211 le16_to_cpu(entry->e_value_offs) + size > inode->i_sb->s_blocksize) in ext2_xattr_get()
215 ea_idebug(inode, "cache insert failed"); in ext2_xattr_get()
228 up_read(&EXT2_I(inode)->xattr_sem); in ext2_xattr_get()
246 struct inode *inode = d_inode(dentry); in ext2_xattr_list() local
253 ea_idebug(inode, "buffer=%p, buffer_size=%ld", in ext2_xattr_list()
256 down_read(&EXT2_I(inode)->xattr_sem); in ext2_xattr_list()
258 if (!EXT2_I(inode)->i_file_acl) in ext2_xattr_list()
260 ea_idebug(inode, "reading block %d", EXT2_I(inode)->i_file_acl); in ext2_xattr_list()
261 bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl); in ext2_xattr_list()
270 bad_block: ext2_error(inode->i_sb, "ext2_xattr_list", in ext2_xattr_list()
271 "inode %ld: bad block %d", inode->i_ino, in ext2_xattr_list()
272 EXT2_I(inode)->i_file_acl); in ext2_xattr_list()
287 ea_idebug(inode, "cache insert failed"); in ext2_xattr_list()
314 up_read(&EXT2_I(inode)->xattr_sem); in ext2_xattr_list()
358 ext2_xattr_set(struct inode *inode, int name_index, const char *name, in ext2_xattr_set() argument
361 struct super_block *sb = inode->i_sb; in ext2_xattr_set()
381 ea_idebug(inode, "name=%d.%s, value=%p, value_len=%ld", in ext2_xattr_set()
391 down_write(&EXT2_I(inode)->xattr_sem); in ext2_xattr_set()
392 if (EXT2_I(inode)->i_file_acl) { in ext2_xattr_set()
394 bh = sb_bread(sb, EXT2_I(inode)->i_file_acl); in ext2_xattr_set()
406 "inode %ld: bad block %d", inode->i_ino, in ext2_xattr_set()
407 EXT2_I(inode)->i_file_acl); in ext2_xattr_set()
600 error = ext2_xattr_set2(inode, bh, NULL); in ext2_xattr_set()
605 error = ext2_xattr_set2(inode, bh, header); in ext2_xattr_set()
612 up_write(&EXT2_I(inode)->xattr_sem); in ext2_xattr_set()
621 ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, in ext2_xattr_set2() argument
624 struct super_block *sb = inode->i_sb; in ext2_xattr_set2()
629 new_bh = ext2_xattr_cache_find(inode, header); in ext2_xattr_set2()
639 error = dquot_alloc_block(inode, 1); in ext2_xattr_set2()
658 EXT2_I(inode)->i_block_group); in ext2_xattr_set2()
659 int block = ext2_new_block(inode, goal, &error); in ext2_xattr_set2()
662 ea_idebug(inode, "creating block %d", block); in ext2_xattr_set2()
666 ext2_free_blocks(inode, block, 1); in ext2_xattr_set2()
667 mark_inode_dirty(inode); in ext2_xattr_set2()
680 if (IS_SYNC(inode)) { in ext2_xattr_set2()
689 EXT2_I(inode)->i_file_acl = new_bh ? new_bh->b_blocknr : 0; in ext2_xattr_set2()
690 inode->i_ctime = CURRENT_TIME_SEC; in ext2_xattr_set2()
691 if (IS_SYNC(inode)) { in ext2_xattr_set2()
692 error = sync_inode_metadata(inode, 1); in ext2_xattr_set2()
698 dquot_free_block_nodirty(inode, 1); in ext2_xattr_set2()
699 mark_inode_dirty(inode); in ext2_xattr_set2()
704 mark_inode_dirty(inode); in ext2_xattr_set2()
722 ext2_free_blocks(inode, old_bh->b_blocknr, 1); in ext2_xattr_set2()
723 mark_inode_dirty(inode); in ext2_xattr_set2()
733 dquot_free_block_nodirty(inode, 1); in ext2_xattr_set2()
734 mark_inode_dirty(inode); in ext2_xattr_set2()
755 ext2_xattr_delete_inode(struct inode *inode) in ext2_xattr_delete_inode() argument
760 down_write(&EXT2_I(inode)->xattr_sem); in ext2_xattr_delete_inode()
761 if (!EXT2_I(inode)->i_file_acl) in ext2_xattr_delete_inode()
763 bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl); in ext2_xattr_delete_inode()
765 ext2_error(inode->i_sb, "ext2_xattr_delete_inode", in ext2_xattr_delete_inode()
766 "inode %ld: block %d read error", inode->i_ino, in ext2_xattr_delete_inode()
767 EXT2_I(inode)->i_file_acl); in ext2_xattr_delete_inode()
773 ext2_error(inode->i_sb, "ext2_xattr_delete_inode", in ext2_xattr_delete_inode()
774 "inode %ld: bad block %d", inode->i_ino, in ext2_xattr_delete_inode()
775 EXT2_I(inode)->i_file_acl); in ext2_xattr_delete_inode()
783 ext2_free_blocks(inode, EXT2_I(inode)->i_file_acl, 1); in ext2_xattr_delete_inode()
795 if (IS_SYNC(inode)) in ext2_xattr_delete_inode()
797 dquot_free_block_nodirty(inode, 1); in ext2_xattr_delete_inode()
799 EXT2_I(inode)->i_file_acl = 0; in ext2_xattr_delete_inode()
803 up_write(&EXT2_I(inode)->xattr_sem); in ext2_xattr_delete_inode()
901 ext2_xattr_cache_find(struct inode *inode, struct ext2_xattr_header *header) in ext2_xattr_cache_find() argument
908 ea_idebug(inode, "looking for cached blocks [%x]", (int)hash); in ext2_xattr_cache_find()
910 ce = mb_cache_entry_find_first(ext2_xattr_cache, inode->i_sb->s_bdev, in ext2_xattr_cache_find()
921 bh = sb_bread(inode->i_sb, ce->e_block); in ext2_xattr_cache_find()
923 ext2_error(inode->i_sb, "ext2_xattr_cache_find", in ext2_xattr_cache_find()
925 inode->i_ino, (unsigned long) ce->e_block); in ext2_xattr_cache_find()
930 ea_idebug(inode, "block %ld refcount %d>%d", in ext2_xattr_cache_find()
943 ce = mb_cache_entry_find_next(ce, inode->i_sb->s_bdev, hash); in ext2_xattr_cache_find()