Lines Matching refs:inode
26 void reiserfs_evict_inode(struct inode *inode) in reiserfs_evict_inode() argument
34 2 * REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb); in reiserfs_evict_inode()
38 if (!inode->i_nlink && !is_bad_inode(inode)) in reiserfs_evict_inode()
39 dquot_initialize(inode); in reiserfs_evict_inode()
41 truncate_inode_pages_final(&inode->i_data); in reiserfs_evict_inode()
42 if (inode->i_nlink) in reiserfs_evict_inode()
50 if (!(inode->i_state & I_NEW) && INODE_PKEY(inode)->k_objectid != 0) { in reiserfs_evict_inode()
52 reiserfs_delete_xattrs(inode); in reiserfs_evict_inode()
54 reiserfs_write_lock(inode->i_sb); in reiserfs_evict_inode()
56 if (journal_begin(&th, inode->i_sb, jbegin_count)) in reiserfs_evict_inode()
58 reiserfs_update_inode_transaction(inode); in reiserfs_evict_inode()
60 reiserfs_discard_prealloc(&th, inode); in reiserfs_evict_inode()
62 err = reiserfs_delete_object(&th, inode); in reiserfs_evict_inode()
70 int depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_evict_inode()
71 dquot_free_inode(inode); in reiserfs_evict_inode()
72 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_evict_inode()
90 remove_save_link(inode, 0 /* not truncate */); in reiserfs_evict_inode()
92 reiserfs_write_unlock(inode->i_sb); in reiserfs_evict_inode()
99 clear_inode(inode); in reiserfs_evict_inode()
101 dquot_drop(inode); in reiserfs_evict_inode()
102 inode->i_blocks = 0; in reiserfs_evict_inode()
106 clear_inode(inode); in reiserfs_evict_inode()
107 dquot_drop(inode); in reiserfs_evict_inode()
126 void make_cpu_key(struct cpu_key *key, struct inode *inode, loff_t offset, in make_cpu_key() argument
129 _make_cpu_key(key, get_inode_item_key_version(inode), in make_cpu_key()
130 le32_to_cpu(INODE_PKEY(inode)->k_dir_id), in make_cpu_key()
131 le32_to_cpu(INODE_PKEY(inode)->k_objectid), offset, type, in make_cpu_key()
231 b_blocknr_t block, struct inode *inode) in set_block_dev_mapped() argument
233 map_bh(bh, inode->i_sb, block); in set_block_dev_mapped()
240 static int file_capable(struct inode *inode, sector_t block) in file_capable() argument
243 if (get_inode_item_key_version(inode) != KEY_FORMAT_3_5 || in file_capable()
245 block < (1 << (31 - inode->i_sb->s_blocksize_bits))) in file_capable()
252 struct inode *inode, struct treepath *path) in restart_transaction() argument
266 reiserfs_update_sd(th, inode); in restart_transaction()
271 reiserfs_update_inode_transaction(inode); in restart_transaction()
284 static int _get_block_create_0(struct inode *inode, sector_t block, in _get_block_create_0() argument
300 make_cpu_key(&key, inode, in _get_block_create_0()
301 (loff_t) block * inode->i_sb->s_blocksize + 1, TYPE_ANY, in _get_block_create_0()
304 result = search_for_position_by_key(inode->i_sb, &key, &path); in _get_block_create_0()
336 map_bh(bh_result, inode->i_sb, blocknr); in _get_block_create_0()
402 memset(p, 0, inode->i_sb->s_blocksize); in _get_block_create_0()
413 if ((le_ih_k_offset(ih) + path.pos_in_item) > inode->i_size) in _get_block_create_0()
415 if ((le_ih_k_offset(ih) - 1 + ih_item_len(ih)) > inode->i_size) { in _get_block_create_0()
417 inode->i_size - (le_ih_k_offset(ih) - 1) - in _get_block_create_0()
441 result = search_for_position_by_key(inode->i_sb, &key, &path); in _get_block_create_0()
462 map_bh(bh_result, inode->i_sb, 0); in _get_block_create_0()
471 static int reiserfs_bmap(struct inode *inode, sector_t block, in reiserfs_bmap() argument
474 if (!file_capable(inode, block)) in reiserfs_bmap()
477 reiserfs_write_lock(inode->i_sb); in reiserfs_bmap()
479 _get_block_create_0(inode, block, bh_result, 0); in reiserfs_bmap()
480 reiserfs_write_unlock(inode->i_sb); in reiserfs_bmap()
502 static int reiserfs_get_block_create_0(struct inode *inode, sector_t block, in reiserfs_get_block_create_0() argument
506 return reiserfs_get_block(inode, block, bh_result, GET_BLOCK_NO_HOLE); in reiserfs_get_block_create_0()
513 static int reiserfs_get_blocks_direct_io(struct inode *inode, in reiserfs_get_blocks_direct_io() argument
527 bh_result->b_size = (1 << inode->i_blkbits); in reiserfs_get_blocks_direct_io()
529 ret = reiserfs_get_block(inode, iblock, bh_result, in reiserfs_get_blocks_direct_io()
548 if (REISERFS_I(inode)->i_flags & i_pack_on_close_mask) { in reiserfs_get_blocks_direct_io()
551 reiserfs_write_lock(inode->i_sb); in reiserfs_get_blocks_direct_io()
553 err = reiserfs_commit_for_inode(inode); in reiserfs_get_blocks_direct_io()
554 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_get_blocks_direct_io()
556 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_blocks_direct_io()
575 static int convert_tail_for_hole(struct inode *inode, in convert_tail_for_hole() argument
599 tail_page = grab_cache_page(inode->i_mapping, index); in convert_tail_for_hole()
640 struct inode *inode, in _allocate_block() argument
648 return reiserfs_new_unf_blocknrs2(th, inode, allocated_block_nr, in _allocate_block()
652 return reiserfs_new_unf_blocknrs(th, inode, allocated_block_nr, path, in _allocate_block()
656 int reiserfs_get_block(struct inode *inode, sector_t block, in reiserfs_get_block() argument
681 2 * REISERFS_QUOTA_TRANS_BLOCKS(inode->i_sb); in reiserfs_get_block()
685 (((loff_t) block) << inode->i_sb->s_blocksize_bits) + 1; in reiserfs_get_block()
687 reiserfs_write_lock(inode->i_sb); in reiserfs_get_block()
688 version = get_inode_item_key_version(inode); in reiserfs_get_block()
690 if (!file_capable(inode, block)) { in reiserfs_get_block()
691 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
702 ret = _get_block_create_0(inode, block, bh_result, in reiserfs_get_block()
704 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
713 reiserfs_transaction_running(inode->i_sb)) in reiserfs_get_block()
721 if ((have_large_tails(inode->i_sb) in reiserfs_get_block()
722 && inode->i_size < i_block_size(inode) * 4) in reiserfs_get_block()
723 || (have_small_tails(inode->i_sb) in reiserfs_get_block()
724 && inode->i_size < i_block_size(inode))) in reiserfs_get_block()
725 REISERFS_I(inode)->i_flags |= i_pack_on_close_mask; in reiserfs_get_block()
728 make_cpu_key(&key, inode, new_offset, TYPE_ANY, 3 /*key length */ ); in reiserfs_get_block()
729 if ((new_offset + inode->i_sb->s_blocksize - 1) > inode->i_size) { in reiserfs_get_block()
731 th = reiserfs_persistent_transaction(inode->i_sb, jbegin_count); in reiserfs_get_block()
736 reiserfs_update_inode_transaction(inode); in reiserfs_get_block()
740 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
751 fs_gen = get_generation(inode->i_sb); in reiserfs_get_block()
763 _allocate_block(th, block, inode, &allocated_block_nr, in reiserfs_get_block()
772 SB_JOURNAL(inode->i_sb)->j_next_async_flush = 1; in reiserfs_get_block()
773 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
777 _allocate_block(th, block, inode, in reiserfs_get_block()
790 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
806 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in reiserfs_get_block()
807 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
809 reiserfs_restore_prepared_buffer(inode->i_sb, in reiserfs_get_block()
815 && reiserfs_data_ordered(inode->i_sb)) in reiserfs_get_block()
816 reiserfs_add_ordered_list(inode, bh_result); in reiserfs_get_block()
820 reiserfs_update_sd(th, inode); in reiserfs_get_block()
822 set_block_dev_mapped(bh_result, unfm_ptr, inode); in reiserfs_get_block()
828 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
866 allocated_block_nr, inode); in reiserfs_get_block()
876 inode, (char *)&unp); in reiserfs_get_block()
878 reiserfs_free_block(th, inode, in reiserfs_get_block()
892 1) & ~(inode->i_sb->s_blocksize - 1)) + 1; in reiserfs_get_block()
901 allocated_block_nr, inode); in reiserfs_get_block()
928 convert_tail_for_hole(inode, bh_result, in reiserfs_get_block()
932 reiserfs_error(inode->i_sb, in reiserfs_get_block()
936 inode->i_ino, in reiserfs_get_block()
944 th = reiserfs_persistent_transaction(inode->i_sb, 3); in reiserfs_get_block()
947 inode, in reiserfs_get_block()
956 direct2indirect(th, inode, &path, unbh, in reiserfs_get_block()
960 reiserfs_free_block(th, inode, in reiserfs_get_block()
986 reiserfs_add_tail_list(inode, unbh); in reiserfs_get_block()
1017 MAX_ITEM_LEN(inode->i_sb->s_blocksize) / in reiserfs_get_block()
1028 make_cpu_key(&tmp_key, inode, in reiserfs_get_block()
1032 inode->i_sb->s_blocksize), in reiserfs_get_block()
1040 cpu_key_k_offset(&tmp_key)) >> inode->i_sb-> in reiserfs_get_block()
1061 allocated_block_nr, inode); in reiserfs_get_block()
1075 reiserfs_paste_into_item(th, &path, &tmp_key, inode, in reiserfs_get_block()
1084 reiserfs_free_block(th, inode, in reiserfs_get_block()
1095 inode->i_size += in reiserfs_get_block()
1096 inode->i_sb->s_blocksize * blocks_needed; in reiserfs_get_block()
1112 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
1121 reiserfs_cond_resched(inode->i_sb); in reiserfs_get_block()
1123 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
1129 reiserfs_warning(inode->i_sb, "vs-825", in reiserfs_get_block()
1133 reiserfs_free_block(th, inode, in reiserfs_get_block()
1150 reiserfs_update_sd(th, inode); in reiserfs_get_block()
1156 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
1173 static int real_space_diff(struct inode *inode, int sd_size) in real_space_diff() argument
1176 loff_t blocksize = inode->i_sb->s_blocksize; in real_space_diff()
1178 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) in real_space_diff()
1191 ((inode->i_size + in real_space_diff()
1192 (blocksize - 1)) >> inode->i_sb->s_blocksize_bits) * UNFM_P_SIZE + in real_space_diff()
1197 static inline loff_t to_real_used_space(struct inode *inode, ulong blocks, in to_real_used_space() argument
1200 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_real_used_space()
1201 return inode->i_size + in to_real_used_space()
1202 (loff_t) (real_space_diff(inode, sd_size)); in to_real_used_space()
1204 return ((loff_t) real_space_diff(inode, sd_size)) + in to_real_used_space()
1209 static inline ulong to_fake_used_blocks(struct inode *inode, int sd_size) in to_fake_used_blocks() argument
1211 loff_t bytes = inode_get_bytes(inode); in to_fake_used_blocks()
1212 loff_t real_space = real_space_diff(inode, sd_size); in to_fake_used_blocks()
1215 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_fake_used_blocks()
1237 static void init_inode(struct inode *inode, struct treepath *path) in init_inode() argument
1246 copy_key(INODE_PKEY(inode), &ih->ih_key); in init_inode()
1248 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in init_inode()
1249 REISERFS_I(inode)->i_flags = 0; in init_inode()
1250 REISERFS_I(inode)->i_prealloc_block = 0; in init_inode()
1251 REISERFS_I(inode)->i_prealloc_count = 0; in init_inode()
1252 REISERFS_I(inode)->i_trans_id = 0; in init_inode()
1253 REISERFS_I(inode)->i_jl = NULL; in init_inode()
1254 reiserfs_init_xattr_rwsem(inode); in init_inode()
1261 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1262 set_inode_sd_version(inode, STAT_DATA_V1); in init_inode()
1263 inode->i_mode = sd_v1_mode(sd); in init_inode()
1264 set_nlink(inode, sd_v1_nlink(sd)); in init_inode()
1265 i_uid_write(inode, sd_v1_uid(sd)); in init_inode()
1266 i_gid_write(inode, sd_v1_gid(sd)); in init_inode()
1267 inode->i_size = sd_v1_size(sd); in init_inode()
1268 inode->i_atime.tv_sec = sd_v1_atime(sd); in init_inode()
1269 inode->i_mtime.tv_sec = sd_v1_mtime(sd); in init_inode()
1270 inode->i_ctime.tv_sec = sd_v1_ctime(sd); in init_inode()
1271 inode->i_atime.tv_nsec = 0; in init_inode()
1272 inode->i_ctime.tv_nsec = 0; in init_inode()
1273 inode->i_mtime.tv_nsec = 0; in init_inode()
1275 inode->i_blocks = sd_v1_blocks(sd); in init_inode()
1276 inode->i_generation = le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1277 blocks = (inode->i_size + 511) >> 9; in init_inode()
1278 blocks = _ROUND_UP(blocks, inode->i_sb->s_blocksize >> 9); in init_inode()
1288 if (inode->i_blocks > blocks) { in init_inode()
1289 inode->i_blocks = blocks; in init_inode()
1293 REISERFS_I(inode)->i_first_direct_byte = in init_inode()
1300 if (inode->i_blocks & 1) { in init_inode()
1301 inode->i_blocks++; in init_inode()
1303 inode_set_bytes(inode, in init_inode()
1304 to_real_used_space(inode, inode->i_blocks, in init_inode()
1310 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in init_inode()
1318 inode->i_mode = sd_v2_mode(sd); in init_inode()
1319 set_nlink(inode, sd_v2_nlink(sd)); in init_inode()
1320 i_uid_write(inode, sd_v2_uid(sd)); in init_inode()
1321 inode->i_size = sd_v2_size(sd); in init_inode()
1322 i_gid_write(inode, sd_v2_gid(sd)); in init_inode()
1323 inode->i_mtime.tv_sec = sd_v2_mtime(sd); in init_inode()
1324 inode->i_atime.tv_sec = sd_v2_atime(sd); in init_inode()
1325 inode->i_ctime.tv_sec = sd_v2_ctime(sd); in init_inode()
1326 inode->i_ctime.tv_nsec = 0; in init_inode()
1327 inode->i_mtime.tv_nsec = 0; in init_inode()
1328 inode->i_atime.tv_nsec = 0; in init_inode()
1329 inode->i_blocks = sd_v2_blocks(sd); in init_inode()
1331 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in init_inode()
1332 inode->i_generation = in init_inode()
1333 le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1335 inode->i_generation = sd_v2_generation(sd); in init_inode()
1337 if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) in init_inode()
1338 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1340 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in init_inode()
1341 REISERFS_I(inode)->i_first_direct_byte = 0; in init_inode()
1342 set_inode_sd_version(inode, STAT_DATA_V2); in init_inode()
1343 inode_set_bytes(inode, in init_inode()
1344 to_real_used_space(inode, inode->i_blocks, in init_inode()
1350 REISERFS_I(inode)->i_attrs = sd_v2_attrs(sd); in init_inode()
1351 sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode); in init_inode()
1355 if (S_ISREG(inode->i_mode)) { in init_inode()
1356 inode->i_op = &reiserfs_file_inode_operations; in init_inode()
1357 inode->i_fop = &reiserfs_file_operations; in init_inode()
1358 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1359 } else if (S_ISDIR(inode->i_mode)) { in init_inode()
1360 inode->i_op = &reiserfs_dir_inode_operations; in init_inode()
1361 inode->i_fop = &reiserfs_dir_operations; in init_inode()
1362 } else if (S_ISLNK(inode->i_mode)) { in init_inode()
1363 inode->i_op = &reiserfs_symlink_inode_operations; in init_inode()
1364 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1366 inode->i_blocks = 0; in init_inode()
1367 inode->i_op = &reiserfs_special_inode_operations; in init_inode()
1368 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in init_inode()
1373 static void inode2sd(void *sd, struct inode *inode, loff_t size) in inode2sd() argument
1378 set_sd_v2_mode(sd_v2, inode->i_mode); in inode2sd()
1379 set_sd_v2_nlink(sd_v2, inode->i_nlink); in inode2sd()
1380 set_sd_v2_uid(sd_v2, i_uid_read(inode)); in inode2sd()
1382 set_sd_v2_gid(sd_v2, i_gid_read(inode)); in inode2sd()
1383 set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); in inode2sd()
1384 set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); in inode2sd()
1385 set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); in inode2sd()
1386 set_sd_v2_blocks(sd_v2, to_fake_used_blocks(inode, SD_V2_SIZE)); in inode2sd()
1387 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in inode2sd()
1388 set_sd_v2_rdev(sd_v2, new_encode_dev(inode->i_rdev)); in inode2sd()
1390 set_sd_v2_generation(sd_v2, inode->i_generation); in inode2sd()
1391 flags = REISERFS_I(inode)->i_attrs; in inode2sd()
1392 i_attrs_to_sd_attrs(inode, &flags); in inode2sd()
1397 static void inode2sd_v1(void *sd, struct inode *inode, loff_t size) in inode2sd_v1() argument
1401 set_sd_v1_mode(sd_v1, inode->i_mode); in inode2sd_v1()
1402 set_sd_v1_uid(sd_v1, i_uid_read(inode)); in inode2sd_v1()
1403 set_sd_v1_gid(sd_v1, i_gid_read(inode)); in inode2sd_v1()
1404 set_sd_v1_nlink(sd_v1, inode->i_nlink); in inode2sd_v1()
1406 set_sd_v1_atime(sd_v1, inode->i_atime.tv_sec); in inode2sd_v1()
1407 set_sd_v1_ctime(sd_v1, inode->i_ctime.tv_sec); in inode2sd_v1()
1408 set_sd_v1_mtime(sd_v1, inode->i_mtime.tv_sec); in inode2sd_v1()
1410 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in inode2sd_v1()
1411 set_sd_v1_rdev(sd_v1, new_encode_dev(inode->i_rdev)); in inode2sd_v1()
1413 set_sd_v1_blocks(sd_v1, to_fake_used_blocks(inode, SD_V1_SIZE)); in inode2sd_v1()
1417 REISERFS_I(inode)->i_first_direct_byte); in inode2sd_v1()
1424 static void update_stat_data(struct treepath *path, struct inode *inode, in update_stat_data() argument
1434 reiserfs_panic(inode->i_sb, "vs-13065", "key %k, found item %h", in update_stat_data()
1435 INODE_PKEY(inode), ih); in update_stat_data()
1439 inode2sd_v1(ih_item_body(bh, ih), inode, size); in update_stat_data()
1441 inode2sd(ih_item_body(bh, ih), inode, size); in update_stat_data()
1448 struct inode *inode, loff_t size) in reiserfs_update_sd_size() argument
1460 make_cpu_key(&key, inode, SD_OFFSET, TYPE_STAT_DATA, 3); in reiserfs_update_sd_size()
1465 retval = search_item(inode->i_sb, &key, &path); in reiserfs_update_sd_size()
1467 reiserfs_error(inode->i_sb, "vs-13050", in reiserfs_update_sd_size()
1475 if (inode->i_nlink == 0) { in reiserfs_update_sd_size()
1479 reiserfs_warning(inode->i_sb, "vs-13060", in reiserfs_update_sd_size()
1482 INODE_PKEY(inode), inode->i_nlink, in reiserfs_update_sd_size()
1496 fs_gen = get_generation(inode->i_sb); in reiserfs_update_sd_size()
1497 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in reiserfs_update_sd_size()
1500 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_update_sd_size()
1502 reiserfs_restore_prepared_buffer(inode->i_sb, bh); in reiserfs_update_sd_size()
1507 update_stat_data(&path, inode, size); in reiserfs_update_sd_size()
1520 static void reiserfs_make_bad_inode(struct inode *inode) in reiserfs_make_bad_inode() argument
1522 memset(INODE_PKEY(inode), 0, KEY_SIZE); in reiserfs_make_bad_inode()
1523 make_bad_inode(inode); in reiserfs_make_bad_inode()
1530 int reiserfs_init_locked_inode(struct inode *inode, void *p) in reiserfs_init_locked_inode() argument
1533 inode->i_ino = args->objectid; in reiserfs_init_locked_inode()
1534 INODE_PKEY(inode)->k_dir_id = cpu_to_le32(args->dirid); in reiserfs_init_locked_inode()
1542 void reiserfs_read_locked_inode(struct inode *inode, in reiserfs_read_locked_inode() argument
1558 key.on_disk_key.k_objectid = inode->i_ino; in reiserfs_read_locked_inode()
1563 retval = search_item(inode->i_sb, &key, &path_to_sd); in reiserfs_read_locked_inode()
1565 reiserfs_error(inode->i_sb, "vs-13070", in reiserfs_read_locked_inode()
1568 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1575 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1576 clear_nlink(inode); in reiserfs_read_locked_inode()
1580 init_inode(inode, &path_to_sd); in reiserfs_read_locked_inode()
1601 if ((inode->i_nlink == 0) && in reiserfs_read_locked_inode()
1602 !REISERFS_SB(inode->i_sb)->s_is_unlinked_ok) { in reiserfs_read_locked_inode()
1603 reiserfs_warning(inode->i_sb, "vs-13075", in reiserfs_read_locked_inode()
1607 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1616 if (get_inode_sd_version(inode) == STAT_DATA_V1) in reiserfs_read_locked_inode()
1617 cache_no_acl(inode); in reiserfs_read_locked_inode()
1632 int reiserfs_find_actor(struct inode *inode, void *opaque) in reiserfs_find_actor() argument
1638 return (inode->i_ino == args->objectid) && in reiserfs_find_actor()
1639 (le32_to_cpu(INODE_PKEY(inode)->k_dir_id) == args->dirid); in reiserfs_find_actor()
1642 struct inode *reiserfs_iget(struct super_block *s, const struct cpu_key *key) in reiserfs_iget()
1644 struct inode *inode; in reiserfs_iget() local
1651 inode = iget5_locked(s, key->on_disk_key.k_objectid, in reiserfs_iget()
1655 if (!inode) in reiserfs_iget()
1658 if (inode->i_state & I_NEW) { in reiserfs_iget()
1659 reiserfs_read_locked_inode(inode, &args); in reiserfs_iget()
1660 unlock_new_inode(inode); in reiserfs_iget()
1663 if (comp_short_keys(INODE_PKEY(inode), key) || is_bad_inode(inode)) { in reiserfs_iget()
1665 iput(inode); in reiserfs_iget()
1666 inode = NULL; in reiserfs_iget()
1668 return inode; in reiserfs_iget()
1676 struct inode *inode; in reiserfs_get_dentry() local
1681 inode = reiserfs_iget(sb, &key); in reiserfs_get_dentry()
1682 if (inode && !IS_ERR(inode) && generation != 0 && in reiserfs_get_dentry()
1683 generation != inode->i_generation) { in reiserfs_get_dentry()
1684 iput(inode); in reiserfs_get_dentry()
1685 inode = NULL; in reiserfs_get_dentry()
1689 return d_obtain_alias(inode); in reiserfs_get_dentry()
1736 int reiserfs_encode_fh(struct inode *inode, __u32 * data, int *lenp, in reiserfs_encode_fh() argument
1737 struct inode *parent) in reiserfs_encode_fh()
1749 data[0] = inode->i_ino; in reiserfs_encode_fh()
1750 data[1] = le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in reiserfs_encode_fh()
1751 data[2] = inode->i_generation; in reiserfs_encode_fh()
1775 int reiserfs_write_inode(struct inode *inode, struct writeback_control *wbc) in reiserfs_write_inode() argument
1780 if (inode->i_sb->s_flags & MS_RDONLY) in reiserfs_write_inode()
1790 reiserfs_write_lock(inode->i_sb); in reiserfs_write_inode()
1791 if (!journal_begin(&th, inode->i_sb, jbegin_count)) { in reiserfs_write_inode()
1792 reiserfs_update_sd(&th, inode); in reiserfs_write_inode()
1795 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_inode()
1805 struct inode *inode, in reiserfs_new_directory() argument
1807 struct inode *dir) in reiserfs_new_directory()
1860 return reiserfs_insert_item(th, path, &key, ih, inode, body); in reiserfs_new_directory()
1868 struct inode *inode, in reiserfs_new_symlink() argument
1903 return reiserfs_insert_item(th, path, &key, ih, inode, symname); in reiserfs_new_symlink()
1927 struct inode *dir, umode_t mode, const char *symname, in reiserfs_new_inode()
1931 struct inode *inode, in reiserfs_new_inode() argument
1947 err = dquot_alloc_inode(inode); in reiserfs_new_inode()
1963 args.objectid = inode->i_ino = le32_to_cpu(ih.ih_key.k_objectid); in reiserfs_new_inode()
1970 memcpy(INODE_PKEY(inode), &ih.ih_key, KEY_SIZE); in reiserfs_new_inode()
1973 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
1974 err = insert_inode_locked4(inode, args.objectid, in reiserfs_new_inode()
1976 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
1989 inode->i_generation = le32_to_cpu(INODE_PKEY(dir)->k_objectid); in reiserfs_new_inode()
1992 inode->i_generation = in reiserfs_new_inode()
1995 inode->i_generation = ++event; in reiserfs_new_inode()
1999 set_nlink(inode, (S_ISDIR(mode) ? 2 : 1)); in reiserfs_new_inode()
2004 if (S_ISLNK(inode->i_mode)) in reiserfs_new_inode()
2005 inode->i_flags &= ~(S_IMMUTABLE | S_APPEND); in reiserfs_new_inode()
2007 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; in reiserfs_new_inode()
2008 inode->i_size = i_size; in reiserfs_new_inode()
2009 inode->i_blocks = 0; in reiserfs_new_inode()
2010 inode->i_bytes = 0; in reiserfs_new_inode()
2011 REISERFS_I(inode)->i_first_direct_byte = S_ISLNK(mode) ? 1 : in reiserfs_new_inode()
2014 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in reiserfs_new_inode()
2015 REISERFS_I(inode)->i_flags = 0; in reiserfs_new_inode()
2016 REISERFS_I(inode)->i_prealloc_block = 0; in reiserfs_new_inode()
2017 REISERFS_I(inode)->i_prealloc_count = 0; in reiserfs_new_inode()
2018 REISERFS_I(inode)->i_trans_id = 0; in reiserfs_new_inode()
2019 REISERFS_I(inode)->i_jl = NULL; in reiserfs_new_inode()
2020 REISERFS_I(inode)->i_attrs = in reiserfs_new_inode()
2022 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode); in reiserfs_new_inode()
2023 reiserfs_init_xattr_rwsem(inode); in reiserfs_new_inode()
2043 if (i_uid_read(inode) & ~0xffff || i_gid_read(inode) & ~0xffff) { in reiserfs_new_inode()
2048 inode2sd_v1(&sd, inode, inode->i_size); in reiserfs_new_inode()
2050 inode2sd(&sd, inode, inode->i_size); in reiserfs_new_inode()
2058 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in reiserfs_new_inode()
2060 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in reiserfs_new_inode()
2062 set_inode_sd_version(inode, STAT_DATA_V1); in reiserfs_new_inode()
2064 set_inode_sd_version(inode, STAT_DATA_V2); in reiserfs_new_inode()
2072 reiserfs_insert_item(th, &path_to_key, &key, &ih, inode, in reiserfs_new_inode()
2086 reiserfs_new_directory(th, inode, &ih, &path_to_key, dir); in reiserfs_new_inode()
2094 reiserfs_new_symlink(th, inode, &ih, &path_to_key, symname, in reiserfs_new_inode()
2104 if (reiserfs_posixacl(inode->i_sb)) { in reiserfs_new_inode()
2105 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2106 retval = reiserfs_inherit_default_acl(th, dir, dentry, inode); in reiserfs_new_inode()
2107 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2114 } else if (inode->i_sb->s_flags & MS_POSIXACL) { in reiserfs_new_inode()
2115 reiserfs_warning(inode->i_sb, "jdm-13090", in reiserfs_new_inode()
2119 inode->i_flags |= S_PRIVATE; in reiserfs_new_inode()
2122 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2123 retval = reiserfs_security_write(th, inode, security); in reiserfs_new_inode()
2124 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2135 reiserfs_update_sd(th, inode); in reiserfs_new_inode()
2142 INODE_PKEY(inode)->k_objectid = 0; in reiserfs_new_inode()
2145 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2146 dquot_free_inode(inode); in reiserfs_new_inode()
2147 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2155 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2156 dquot_drop(inode); in reiserfs_new_inode()
2157 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2158 inode->i_flags |= S_NOQUOTA; in reiserfs_new_inode()
2159 make_bad_inode(inode); in reiserfs_new_inode()
2162 clear_nlink(inode); in reiserfs_new_inode()
2164 unlock_new_inode(inode); /* OK to do even if we hadn't locked it */ in reiserfs_new_inode()
2165 iput(inode); in reiserfs_new_inode()
2182 static int grab_tail_page(struct inode *inode, in grab_tail_page() argument
2191 unsigned long index = (inode->i_size - 1) >> PAGE_CACHE_SHIFT; in grab_tail_page()
2194 unsigned long blocksize = inode->i_sb->s_blocksize; in grab_tail_page()
2195 unsigned long offset = (inode->i_size) & (PAGE_CACHE_SIZE - 1); in grab_tail_page()
2210 page = grab_cache_page(inode->i_mapping, index); in grab_tail_page()
2240 reiserfs_error(inode->i_sb, "clm-6000", in grab_tail_page()
2263 int reiserfs_truncate_file(struct inode *inode, int update_timestamps) in reiserfs_truncate_file() argument
2267 unsigned long offset = inode->i_size & (PAGE_CACHE_SIZE - 1); in reiserfs_truncate_file()
2268 unsigned blocksize = inode->i_sb->s_blocksize; in reiserfs_truncate_file()
2275 reiserfs_write_lock(inode->i_sb); in reiserfs_truncate_file()
2277 if (inode->i_size > 0) { in reiserfs_truncate_file()
2278 error = grab_tail_page(inode, &page, &bh); in reiserfs_truncate_file()
2286 reiserfs_error(inode->i_sb, "clm-6001", in reiserfs_truncate_file()
2306 error = journal_begin(&th, inode->i_sb, in reiserfs_truncate_file()
2310 reiserfs_update_inode_transaction(inode); in reiserfs_truncate_file()
2318 add_save_link(&th, inode, 1); in reiserfs_truncate_file()
2319 err2 = reiserfs_do_truncate(&th, inode, page, update_timestamps); in reiserfs_truncate_file()
2331 error = remove_save_link(inode, 1 /* truncate */); in reiserfs_truncate_file()
2350 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2359 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2364 static int map_block_for_writepage(struct inode *inode, in map_block_for_writepage() argument
2378 loff_t byte_offset = ((loff_t)block << inode->i_sb->s_blocksize_bits)+1; in map_block_for_writepage()
2397 reiserfs_write_lock(inode->i_sb); in map_block_for_writepage()
2398 make_cpu_key(&key, inode, byte_offset, TYPE_ANY, 3); in map_block_for_writepage()
2401 retval = search_for_position_by_key(inode->i_sb, &key, &path); in map_block_for_writepage()
2415 reiserfs_warning(inode->i_sb, "clm-6002", in map_block_for_writepage()
2424 get_block_num(item, pos_in_item), inode); in map_block_for_writepage()
2431 fs_gen = get_generation(inode->i_sb); in map_block_for_writepage()
2436 retval = journal_begin(&th, inode->i_sb, jbegin_count); in map_block_for_writepage()
2439 reiserfs_update_inode_transaction(inode); in map_block_for_writepage()
2441 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2443 reiserfs_restore_prepared_buffer(inode->i_sb, in map_block_for_writepage()
2449 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in map_block_for_writepage()
2451 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2453 reiserfs_restore_prepared_buffer(inode->i_sb, bh); in map_block_for_writepage()
2462 set_block_dev_mapped(bh_result, 0, inode); in map_block_for_writepage()
2466 (byte_offset + bytes_copied) < inode->i_size) { in map_block_for_writepage()
2473 reiserfs_warning(inode->i_sb, "clm-6003", in map_block_for_writepage()
2474 "bad item inode %lu", inode->i_ino); in map_block_for_writepage()
2488 reiserfs_write_unlock(inode->i_sb); in map_block_for_writepage()
2492 retval = reiserfs_get_block(inode, block, bh_result, in map_block_for_writepage()
2526 struct inode *inode = page->mapping->host; in reiserfs_write_full_page() local
2527 unsigned long end_index = inode->i_size >> PAGE_CACHE_SHIFT; in reiserfs_write_full_page()
2536 struct super_block *s = inode->i_sb; in reiserfs_write_full_page()
2566 last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1); in reiserfs_write_full_page()
2576 last_block = (i_size_read(inode) - 1) >> inode->i_blkbits; in reiserfs_write_full_page()
2596 if ((error = map_block_for_writepage(inode, bh, block))) { in reiserfs_write_full_page()
2618 reiserfs_update_inode_transaction(inode); in reiserfs_write_full_page()
2746 struct inode *inode = page->mapping->host; in reiserfs_writepage() local
2747 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_writepage()
2751 static void reiserfs_truncate_failed_write(struct inode *inode) in reiserfs_truncate_failed_write() argument
2753 truncate_inode_pages(inode->i_mapping, inode->i_size); in reiserfs_truncate_failed_write()
2754 reiserfs_truncate_file(inode, 0); in reiserfs_truncate_failed_write()
2762 struct inode *inode; in reiserfs_write_begin() local
2768 inode = mapping->host; in reiserfs_write_begin()
2771 (pos & (inode->i_sb->s_blocksize - 1)) == 0) { in reiserfs_write_begin()
2782 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_begin()
2784 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2794 if (ret && reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2814 reiserfs_write_lock(inode->i_sb); in reiserfs_write_begin()
2816 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_begin()
2826 reiserfs_truncate_failed_write(inode); in reiserfs_write_begin()
2833 struct inode *inode = page->mapping->host; in __reiserfs_write_begin() local
2838 depth = reiserfs_write_unlock_nested(inode->i_sb); in __reiserfs_write_begin()
2839 reiserfs_wait_on_write_block(inode->i_sb); in __reiserfs_write_begin()
2840 reiserfs_write_lock_nested(inode->i_sb, depth); in __reiserfs_write_begin()
2843 if (reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2854 if (ret && reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2874 reiserfs_write_lock(inode->i_sb); in __reiserfs_write_begin()
2876 reiserfs_write_unlock(inode->i_sb); in __reiserfs_write_begin()
2895 struct inode *inode = page->mapping->host; in reiserfs_write_end() local
2905 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_end()
2906 if (reiserfs_transaction_running(inode->i_sb)) in reiserfs_write_end()
2920 reiserfs_commit_page(inode, page, start, start + copied); in reiserfs_write_end()
2927 if (pos + copied > inode->i_size) { in reiserfs_write_end()
2929 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2936 if ((have_large_tails(inode->i_sb) in reiserfs_write_end()
2937 && inode->i_size > i_block_size(inode) * 4) in reiserfs_write_end()
2938 || (have_small_tails(inode->i_sb) in reiserfs_write_end()
2939 && inode->i_size > i_block_size(inode))) in reiserfs_write_end()
2940 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_write_end()
2942 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_write_end()
2946 reiserfs_update_inode_transaction(inode); in reiserfs_write_end()
2947 inode->i_size = pos + copied; in reiserfs_write_end()
2953 mark_inode_dirty(inode); in reiserfs_write_end()
2954 reiserfs_update_sd(&myth, inode); in reiserfs_write_end()
2962 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2966 mark_inode_dirty(inode); in reiserfs_write_end()
2974 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2978 if (pos + len > inode->i_size) in reiserfs_write_end()
2979 reiserfs_truncate_failed_write(inode); in reiserfs_write_end()
2984 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2988 reiserfs_update_sd(th, inode); in reiserfs_write_end()
2997 struct inode *inode = page->mapping->host; in reiserfs_commit_write() local
3004 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_commit_write()
3005 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_commit_write()
3006 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_commit_write()
3008 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_commit_write()
3011 reiserfs_commit_page(inode, page, from, to); in reiserfs_commit_write()
3018 if (pos > inode->i_size) { in reiserfs_commit_write()
3025 if ((have_large_tails(inode->i_sb) in reiserfs_commit_write()
3026 && inode->i_size > i_block_size(inode) * 4) in reiserfs_commit_write()
3027 || (have_small_tails(inode->i_sb) in reiserfs_commit_write()
3028 && inode->i_size > i_block_size(inode))) in reiserfs_commit_write()
3029 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_commit_write()
3031 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_commit_write()
3035 reiserfs_update_inode_transaction(inode); in reiserfs_commit_write()
3036 inode->i_size = pos; in reiserfs_commit_write()
3042 mark_inode_dirty(inode); in reiserfs_commit_write()
3043 reiserfs_update_sd(&myth, inode); in reiserfs_commit_write()
3051 mark_inode_dirty(inode); in reiserfs_commit_write()
3063 reiserfs_update_sd(th, inode); in reiserfs_commit_write()
3070 void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) in sd_attrs_to_i_attrs() argument
3072 if (reiserfs_attrs(inode->i_sb)) { in sd_attrs_to_i_attrs()
3074 inode->i_flags |= S_SYNC; in sd_attrs_to_i_attrs()
3076 inode->i_flags &= ~S_SYNC; in sd_attrs_to_i_attrs()
3078 inode->i_flags |= S_IMMUTABLE; in sd_attrs_to_i_attrs()
3080 inode->i_flags &= ~S_IMMUTABLE; in sd_attrs_to_i_attrs()
3082 inode->i_flags |= S_APPEND; in sd_attrs_to_i_attrs()
3084 inode->i_flags &= ~S_APPEND; in sd_attrs_to_i_attrs()
3086 inode->i_flags |= S_NOATIME; in sd_attrs_to_i_attrs()
3088 inode->i_flags &= ~S_NOATIME; in sd_attrs_to_i_attrs()
3090 REISERFS_I(inode)->i_flags |= i_nopack_mask; in sd_attrs_to_i_attrs()
3092 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in sd_attrs_to_i_attrs()
3096 void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs) in i_attrs_to_sd_attrs() argument
3098 if (reiserfs_attrs(inode->i_sb)) { in i_attrs_to_sd_attrs()
3099 if (inode->i_flags & S_IMMUTABLE) in i_attrs_to_sd_attrs()
3103 if (inode->i_flags & S_SYNC) in i_attrs_to_sd_attrs()
3107 if (inode->i_flags & S_NOATIME) in i_attrs_to_sd_attrs()
3111 if (REISERFS_I(inode)->i_flags & i_nopack_mask) in i_attrs_to_sd_attrs()
3122 static int invalidatepage_can_drop(struct inode *inode, struct buffer_head *bh) in invalidatepage_can_drop() argument
3125 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in invalidatepage_can_drop()
3136 if (reiserfs_file_data_log(inode)) { in invalidatepage_can_drop()
3163 && jl != SB_JOURNAL(inode->i_sb)->j_current_jl) in invalidatepage_can_drop()
3180 struct inode *inode = page->mapping->host; in reiserfs_invalidatepage() local
3207 if (invalidatepage_can_drop(inode, bh)) in reiserfs_invalidatepage()
3231 struct inode *inode = page->mapping->host; in reiserfs_set_page_dirty() local
3232 if (reiserfs_file_data_log(inode)) { in reiserfs_set_page_dirty()
3250 struct inode *inode = page->mapping->host; in reiserfs_releasepage() local
3251 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in reiserfs_releasepage()
3285 struct inode *inode = file->f_mapping->host; in reiserfs_direct_IO() local
3289 ret = blockdev_direct_IO(iocb, inode, iter, offset, in reiserfs_direct_IO()
3297 loff_t isize = i_size_read(inode); in reiserfs_direct_IO()
3300 if ((end > isize) && inode_newsize_ok(inode, isize) == 0) { in reiserfs_direct_IO()
3301 truncate_setsize(inode, isize); in reiserfs_direct_IO()
3302 reiserfs_vfs_truncate_file(inode); in reiserfs_direct_IO()
3311 struct inode *inode = d_inode(dentry); in reiserfs_setattr() local
3315 error = inode_change_ok(inode, attr); in reiserfs_setattr()
3322 if (is_quota_modification(inode, attr)) in reiserfs_setattr()
3323 dquot_initialize(inode); in reiserfs_setattr()
3324 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3330 if (get_inode_item_key_version(inode) == KEY_FORMAT_3_5 && in reiserfs_setattr()
3332 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3337 inode_dio_wait(inode); in reiserfs_setattr()
3340 if (attr->ia_size > inode->i_size) { in reiserfs_setattr()
3341 error = generic_cont_expand_simple(inode, attr->ia_size); in reiserfs_setattr()
3342 if (REISERFS_I(inode)->i_prealloc_count > 0) { in reiserfs_setattr()
3346 err = journal_begin(&th, inode->i_sb, 4); in reiserfs_setattr()
3348 reiserfs_discard_prealloc(&th, inode); in reiserfs_setattr()
3355 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3365 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3369 (get_inode_sd_version(inode) == STAT_DATA_V1)) { in reiserfs_setattr()
3375 if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || in reiserfs_setattr()
3376 (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { in reiserfs_setattr()
3380 (REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb) + in reiserfs_setattr()
3381 REISERFS_QUOTA_DEL_BLOCKS(inode->i_sb)) + in reiserfs_setattr()
3384 error = reiserfs_chown_xattrs(inode, attr); in reiserfs_setattr()
3393 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3394 error = journal_begin(&th, inode->i_sb, jbegin_count); in reiserfs_setattr()
3395 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3398 error = dquot_transfer(inode, attr); in reiserfs_setattr()
3399 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3402 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3411 inode->i_uid = attr->ia_uid; in reiserfs_setattr()
3413 inode->i_gid = attr->ia_gid; in reiserfs_setattr()
3414 mark_inode_dirty(inode); in reiserfs_setattr()
3416 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3422 attr->ia_size != i_size_read(inode)) { in reiserfs_setattr()
3423 error = inode_newsize_ok(inode, attr->ia_size); in reiserfs_setattr()
3429 mutex_lock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3430 truncate_setsize(inode, attr->ia_size); in reiserfs_setattr()
3431 reiserfs_truncate_file(inode, 1); in reiserfs_setattr()
3432 mutex_unlock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3437 setattr_copy(inode, attr); in reiserfs_setattr()
3438 mark_inode_dirty(inode); in reiserfs_setattr()
3441 if (!error && reiserfs_posixacl(inode->i_sb)) { in reiserfs_setattr()
3443 error = reiserfs_acl_chmod(inode); in reiserfs_setattr()