Lines Matching refs:inode
27 void reiserfs_evict_inode(struct inode *inode) in reiserfs_evict_inode() argument
35 2 * REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb); in reiserfs_evict_inode()
39 if (!inode->i_nlink && !is_bad_inode(inode)) in reiserfs_evict_inode()
40 dquot_initialize(inode); in reiserfs_evict_inode()
42 truncate_inode_pages_final(&inode->i_data); in reiserfs_evict_inode()
43 if (inode->i_nlink) in reiserfs_evict_inode()
51 if (!(inode->i_state & I_NEW) && INODE_PKEY(inode)->k_objectid != 0) { in reiserfs_evict_inode()
53 reiserfs_delete_xattrs(inode); in reiserfs_evict_inode()
55 reiserfs_write_lock(inode->i_sb); in reiserfs_evict_inode()
57 if (journal_begin(&th, inode->i_sb, jbegin_count)) in reiserfs_evict_inode()
59 reiserfs_update_inode_transaction(inode); in reiserfs_evict_inode()
61 reiserfs_discard_prealloc(&th, inode); in reiserfs_evict_inode()
63 err = reiserfs_delete_object(&th, inode); in reiserfs_evict_inode()
71 int depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_evict_inode()
72 dquot_free_inode(inode); in reiserfs_evict_inode()
73 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_evict_inode()
91 remove_save_link(inode, 0 /* not truncate */); in reiserfs_evict_inode()
93 reiserfs_write_unlock(inode->i_sb); in reiserfs_evict_inode()
100 clear_inode(inode); in reiserfs_evict_inode()
102 dquot_drop(inode); in reiserfs_evict_inode()
103 inode->i_blocks = 0; in reiserfs_evict_inode()
107 clear_inode(inode); in reiserfs_evict_inode()
108 dquot_drop(inode); in reiserfs_evict_inode()
127 void make_cpu_key(struct cpu_key *key, struct inode *inode, loff_t offset, in make_cpu_key() argument
130 _make_cpu_key(key, get_inode_item_key_version(inode), in make_cpu_key()
131 le32_to_cpu(INODE_PKEY(inode)->k_dir_id), in make_cpu_key()
132 le32_to_cpu(INODE_PKEY(inode)->k_objectid), offset, type, in make_cpu_key()
232 b_blocknr_t block, struct inode *inode) in set_block_dev_mapped() argument
234 map_bh(bh, inode->i_sb, block); in set_block_dev_mapped()
241 static int file_capable(struct inode *inode, sector_t block) in file_capable() argument
244 if (get_inode_item_key_version(inode) != KEY_FORMAT_3_5 || in file_capable()
246 block < (1 << (31 - inode->i_sb->s_blocksize_bits))) in file_capable()
253 struct inode *inode, struct treepath *path) in restart_transaction() argument
267 reiserfs_update_sd(th, inode); in restart_transaction()
272 reiserfs_update_inode_transaction(inode); in restart_transaction()
285 static int _get_block_create_0(struct inode *inode, sector_t block, in _get_block_create_0() argument
301 make_cpu_key(&key, inode, in _get_block_create_0()
302 (loff_t) block * inode->i_sb->s_blocksize + 1, TYPE_ANY, in _get_block_create_0()
305 result = search_for_position_by_key(inode->i_sb, &key, &path); in _get_block_create_0()
337 map_bh(bh_result, inode->i_sb, blocknr); in _get_block_create_0()
403 memset(p, 0, inode->i_sb->s_blocksize); in _get_block_create_0()
414 if ((le_ih_k_offset(ih) + path.pos_in_item) > inode->i_size) in _get_block_create_0()
416 if ((le_ih_k_offset(ih) - 1 + ih_item_len(ih)) > inode->i_size) { in _get_block_create_0()
418 inode->i_size - (le_ih_k_offset(ih) - 1) - in _get_block_create_0()
442 result = search_for_position_by_key(inode->i_sb, &key, &path); in _get_block_create_0()
463 map_bh(bh_result, inode->i_sb, 0); in _get_block_create_0()
472 static int reiserfs_bmap(struct inode *inode, sector_t block, in reiserfs_bmap() argument
475 if (!file_capable(inode, block)) in reiserfs_bmap()
478 reiserfs_write_lock(inode->i_sb); in reiserfs_bmap()
480 _get_block_create_0(inode, block, bh_result, 0); in reiserfs_bmap()
481 reiserfs_write_unlock(inode->i_sb); in reiserfs_bmap()
503 static int reiserfs_get_block_create_0(struct inode *inode, sector_t block, in reiserfs_get_block_create_0() argument
507 return reiserfs_get_block(inode, block, bh_result, GET_BLOCK_NO_HOLE); in reiserfs_get_block_create_0()
514 static int reiserfs_get_blocks_direct_io(struct inode *inode, in reiserfs_get_blocks_direct_io() argument
528 bh_result->b_size = i_blocksize(inode); in reiserfs_get_blocks_direct_io()
530 ret = reiserfs_get_block(inode, iblock, bh_result, in reiserfs_get_blocks_direct_io()
549 if (REISERFS_I(inode)->i_flags & i_pack_on_close_mask) { in reiserfs_get_blocks_direct_io()
552 reiserfs_write_lock(inode->i_sb); in reiserfs_get_blocks_direct_io()
554 err = reiserfs_commit_for_inode(inode); in reiserfs_get_blocks_direct_io()
555 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_get_blocks_direct_io()
557 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_blocks_direct_io()
576 static int convert_tail_for_hole(struct inode *inode, in convert_tail_for_hole() argument
600 tail_page = grab_cache_page(inode->i_mapping, index); in convert_tail_for_hole()
641 struct inode *inode, in _allocate_block() argument
649 return reiserfs_new_unf_blocknrs2(th, inode, allocated_block_nr, in _allocate_block()
653 return reiserfs_new_unf_blocknrs(th, inode, allocated_block_nr, path, in _allocate_block()
657 int reiserfs_get_block(struct inode *inode, sector_t block, in reiserfs_get_block() argument
682 2 * REISERFS_QUOTA_TRANS_BLOCKS(inode->i_sb); in reiserfs_get_block()
686 (((loff_t) block) << inode->i_sb->s_blocksize_bits) + 1; in reiserfs_get_block()
688 reiserfs_write_lock(inode->i_sb); in reiserfs_get_block()
689 version = get_inode_item_key_version(inode); in reiserfs_get_block()
691 if (!file_capable(inode, block)) { in reiserfs_get_block()
692 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
703 ret = _get_block_create_0(inode, block, bh_result, in reiserfs_get_block()
705 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
714 reiserfs_transaction_running(inode->i_sb)) in reiserfs_get_block()
722 if ((have_large_tails(inode->i_sb) in reiserfs_get_block()
723 && inode->i_size < i_block_size(inode) * 4) in reiserfs_get_block()
724 || (have_small_tails(inode->i_sb) in reiserfs_get_block()
725 && inode->i_size < i_block_size(inode))) in reiserfs_get_block()
726 REISERFS_I(inode)->i_flags |= i_pack_on_close_mask; in reiserfs_get_block()
729 make_cpu_key(&key, inode, new_offset, TYPE_ANY, 3 /*key length */ ); in reiserfs_get_block()
730 if ((new_offset + inode->i_sb->s_blocksize - 1) > inode->i_size) { in reiserfs_get_block()
732 th = reiserfs_persistent_transaction(inode->i_sb, jbegin_count); in reiserfs_get_block()
737 reiserfs_update_inode_transaction(inode); in reiserfs_get_block()
741 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
752 fs_gen = get_generation(inode->i_sb); in reiserfs_get_block()
764 _allocate_block(th, block, inode, &allocated_block_nr, in reiserfs_get_block()
773 SB_JOURNAL(inode->i_sb)->j_next_async_flush = 1; in reiserfs_get_block()
774 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
778 _allocate_block(th, block, inode, in reiserfs_get_block()
791 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
807 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in reiserfs_get_block()
808 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
810 reiserfs_restore_prepared_buffer(inode->i_sb, in reiserfs_get_block()
816 && reiserfs_data_ordered(inode->i_sb)) in reiserfs_get_block()
817 reiserfs_add_ordered_list(inode, bh_result); in reiserfs_get_block()
821 reiserfs_update_sd(th, inode); in reiserfs_get_block()
823 set_block_dev_mapped(bh_result, unfm_ptr, inode); in reiserfs_get_block()
829 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
867 allocated_block_nr, inode); in reiserfs_get_block()
877 inode, (char *)&unp); in reiserfs_get_block()
879 reiserfs_free_block(th, inode, in reiserfs_get_block()
893 1) & ~(inode->i_sb->s_blocksize - 1)) + 1; in reiserfs_get_block()
902 allocated_block_nr, inode); in reiserfs_get_block()
929 convert_tail_for_hole(inode, bh_result, in reiserfs_get_block()
933 reiserfs_error(inode->i_sb, in reiserfs_get_block()
937 inode->i_ino, in reiserfs_get_block()
945 th = reiserfs_persistent_transaction(inode->i_sb, 3); in reiserfs_get_block()
948 inode, in reiserfs_get_block()
957 direct2indirect(th, inode, &path, unbh, in reiserfs_get_block()
961 reiserfs_free_block(th, inode, in reiserfs_get_block()
987 reiserfs_add_tail_list(inode, unbh); in reiserfs_get_block()
1018 MAX_ITEM_LEN(inode->i_sb->s_blocksize) / in reiserfs_get_block()
1029 make_cpu_key(&tmp_key, inode, in reiserfs_get_block()
1033 inode->i_sb->s_blocksize), in reiserfs_get_block()
1041 cpu_key_k_offset(&tmp_key)) >> inode->i_sb-> in reiserfs_get_block()
1063 allocated_block_nr, inode); in reiserfs_get_block()
1077 reiserfs_paste_into_item(th, &path, &tmp_key, inode, in reiserfs_get_block()
1086 reiserfs_free_block(th, inode, in reiserfs_get_block()
1097 inode->i_size += in reiserfs_get_block()
1098 inode->i_sb->s_blocksize * blocks_needed; in reiserfs_get_block()
1114 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
1123 reiserfs_cond_resched(inode->i_sb); in reiserfs_get_block()
1125 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
1131 reiserfs_warning(inode->i_sb, "vs-825", in reiserfs_get_block()
1135 reiserfs_free_block(th, inode, in reiserfs_get_block()
1152 reiserfs_update_sd(th, inode); in reiserfs_get_block()
1158 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
1175 static int real_space_diff(struct inode *inode, int sd_size) in real_space_diff() argument
1178 loff_t blocksize = inode->i_sb->s_blocksize; in real_space_diff()
1180 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) in real_space_diff()
1193 ((inode->i_size + in real_space_diff()
1194 (blocksize - 1)) >> inode->i_sb->s_blocksize_bits) * UNFM_P_SIZE + in real_space_diff()
1199 static inline loff_t to_real_used_space(struct inode *inode, ulong blocks, in to_real_used_space() argument
1202 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_real_used_space()
1203 return inode->i_size + in to_real_used_space()
1204 (loff_t) (real_space_diff(inode, sd_size)); in to_real_used_space()
1206 return ((loff_t) real_space_diff(inode, sd_size)) + in to_real_used_space()
1211 static inline ulong to_fake_used_blocks(struct inode *inode, int sd_size) in to_fake_used_blocks() argument
1213 loff_t bytes = inode_get_bytes(inode); in to_fake_used_blocks()
1214 loff_t real_space = real_space_diff(inode, sd_size); in to_fake_used_blocks()
1217 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_fake_used_blocks()
1239 static void init_inode(struct inode *inode, struct treepath *path) in init_inode() argument
1248 copy_key(INODE_PKEY(inode), &ih->ih_key); in init_inode()
1250 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in init_inode()
1251 REISERFS_I(inode)->i_flags = 0; in init_inode()
1252 REISERFS_I(inode)->i_prealloc_block = 0; in init_inode()
1253 REISERFS_I(inode)->i_prealloc_count = 0; in init_inode()
1254 REISERFS_I(inode)->i_trans_id = 0; in init_inode()
1255 REISERFS_I(inode)->i_jl = NULL; in init_inode()
1256 reiserfs_init_xattr_rwsem(inode); in init_inode()
1263 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1264 set_inode_sd_version(inode, STAT_DATA_V1); in init_inode()
1265 inode->i_mode = sd_v1_mode(sd); in init_inode()
1266 set_nlink(inode, sd_v1_nlink(sd)); in init_inode()
1267 i_uid_write(inode, sd_v1_uid(sd)); in init_inode()
1268 i_gid_write(inode, sd_v1_gid(sd)); in init_inode()
1269 inode->i_size = sd_v1_size(sd); in init_inode()
1270 inode->i_atime.tv_sec = sd_v1_atime(sd); in init_inode()
1271 inode->i_mtime.tv_sec = sd_v1_mtime(sd); in init_inode()
1272 inode->i_ctime.tv_sec = sd_v1_ctime(sd); in init_inode()
1273 inode->i_atime.tv_nsec = 0; in init_inode()
1274 inode->i_ctime.tv_nsec = 0; in init_inode()
1275 inode->i_mtime.tv_nsec = 0; in init_inode()
1277 inode->i_blocks = sd_v1_blocks(sd); in init_inode()
1278 inode->i_generation = le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1279 blocks = (inode->i_size + 511) >> 9; in init_inode()
1280 blocks = _ROUND_UP(blocks, inode->i_sb->s_blocksize >> 9); in init_inode()
1290 if (inode->i_blocks > blocks) { in init_inode()
1291 inode->i_blocks = blocks; in init_inode()
1295 REISERFS_I(inode)->i_first_direct_byte = in init_inode()
1302 if (inode->i_blocks & 1) { in init_inode()
1303 inode->i_blocks++; in init_inode()
1305 inode_set_bytes(inode, in init_inode()
1306 to_real_used_space(inode, inode->i_blocks, in init_inode()
1312 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in init_inode()
1320 inode->i_mode = sd_v2_mode(sd); in init_inode()
1321 set_nlink(inode, sd_v2_nlink(sd)); in init_inode()
1322 i_uid_write(inode, sd_v2_uid(sd)); in init_inode()
1323 inode->i_size = sd_v2_size(sd); in init_inode()
1324 i_gid_write(inode, sd_v2_gid(sd)); in init_inode()
1325 inode->i_mtime.tv_sec = sd_v2_mtime(sd); in init_inode()
1326 inode->i_atime.tv_sec = sd_v2_atime(sd); in init_inode()
1327 inode->i_ctime.tv_sec = sd_v2_ctime(sd); in init_inode()
1328 inode->i_ctime.tv_nsec = 0; in init_inode()
1329 inode->i_mtime.tv_nsec = 0; in init_inode()
1330 inode->i_atime.tv_nsec = 0; in init_inode()
1331 inode->i_blocks = sd_v2_blocks(sd); in init_inode()
1333 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in init_inode()
1334 inode->i_generation = in init_inode()
1335 le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1337 inode->i_generation = sd_v2_generation(sd); in init_inode()
1339 if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) in init_inode()
1340 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1342 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in init_inode()
1343 REISERFS_I(inode)->i_first_direct_byte = 0; in init_inode()
1344 set_inode_sd_version(inode, STAT_DATA_V2); in init_inode()
1345 inode_set_bytes(inode, in init_inode()
1346 to_real_used_space(inode, inode->i_blocks, in init_inode()
1352 REISERFS_I(inode)->i_attrs = sd_v2_attrs(sd); in init_inode()
1353 sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode); in init_inode()
1357 if (S_ISREG(inode->i_mode)) { in init_inode()
1358 inode->i_op = &reiserfs_file_inode_operations; in init_inode()
1359 inode->i_fop = &reiserfs_file_operations; in init_inode()
1360 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1361 } else if (S_ISDIR(inode->i_mode)) { in init_inode()
1362 inode->i_op = &reiserfs_dir_inode_operations; in init_inode()
1363 inode->i_fop = &reiserfs_dir_operations; in init_inode()
1364 } else if (S_ISLNK(inode->i_mode)) { in init_inode()
1365 inode->i_op = &reiserfs_symlink_inode_operations; in init_inode()
1366 inode_nohighmem(inode); in init_inode()
1367 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1369 inode->i_blocks = 0; in init_inode()
1370 inode->i_op = &reiserfs_special_inode_operations; in init_inode()
1371 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in init_inode()
1376 static void inode2sd(void *sd, struct inode *inode, loff_t size) in inode2sd() argument
1380 set_sd_v2_mode(sd_v2, inode->i_mode); in inode2sd()
1381 set_sd_v2_nlink(sd_v2, inode->i_nlink); in inode2sd()
1382 set_sd_v2_uid(sd_v2, i_uid_read(inode)); in inode2sd()
1384 set_sd_v2_gid(sd_v2, i_gid_read(inode)); in inode2sd()
1385 set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); in inode2sd()
1386 set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); in inode2sd()
1387 set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); in inode2sd()
1388 set_sd_v2_blocks(sd_v2, to_fake_used_blocks(inode, SD_V2_SIZE)); in inode2sd()
1389 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in inode2sd()
1390 set_sd_v2_rdev(sd_v2, new_encode_dev(inode->i_rdev)); in inode2sd()
1392 set_sd_v2_generation(sd_v2, inode->i_generation); in inode2sd()
1393 set_sd_v2_attrs(sd_v2, REISERFS_I(inode)->i_attrs); 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 (sb_rdonly(inode->i_sb)) 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()
2003 inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode); in reiserfs_new_inode()
2004 inode->i_size = i_size; in reiserfs_new_inode()
2005 inode->i_blocks = 0; in reiserfs_new_inode()
2006 inode->i_bytes = 0; in reiserfs_new_inode()
2007 REISERFS_I(inode)->i_first_direct_byte = S_ISLNK(mode) ? 1 : in reiserfs_new_inode()
2010 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in reiserfs_new_inode()
2011 REISERFS_I(inode)->i_flags = 0; in reiserfs_new_inode()
2012 REISERFS_I(inode)->i_prealloc_block = 0; in reiserfs_new_inode()
2013 REISERFS_I(inode)->i_prealloc_count = 0; in reiserfs_new_inode()
2014 REISERFS_I(inode)->i_trans_id = 0; in reiserfs_new_inode()
2015 REISERFS_I(inode)->i_jl = NULL; in reiserfs_new_inode()
2016 REISERFS_I(inode)->i_attrs = in reiserfs_new_inode()
2018 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode); in reiserfs_new_inode()
2019 reiserfs_init_xattr_rwsem(inode); in reiserfs_new_inode()
2039 if (i_uid_read(inode) & ~0xffff || i_gid_read(inode) & ~0xffff) { in reiserfs_new_inode()
2044 inode2sd_v1(&sd, inode, inode->i_size); in reiserfs_new_inode()
2046 inode2sd(&sd, inode, inode->i_size); in reiserfs_new_inode()
2054 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in reiserfs_new_inode()
2056 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in reiserfs_new_inode()
2058 set_inode_sd_version(inode, STAT_DATA_V1); in reiserfs_new_inode()
2060 set_inode_sd_version(inode, STAT_DATA_V2); in reiserfs_new_inode()
2068 reiserfs_insert_item(th, &path_to_key, &key, &ih, inode, in reiserfs_new_inode()
2082 reiserfs_new_directory(th, inode, &ih, &path_to_key, dir); in reiserfs_new_inode()
2090 reiserfs_new_symlink(th, inode, &ih, &path_to_key, symname, in reiserfs_new_inode()
2100 if (reiserfs_posixacl(inode->i_sb)) { in reiserfs_new_inode()
2101 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2102 retval = reiserfs_inherit_default_acl(th, dir, dentry, inode); in reiserfs_new_inode()
2103 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2110 } else if (inode->i_sb->s_flags & SB_POSIXACL) { in reiserfs_new_inode()
2111 reiserfs_warning(inode->i_sb, "jdm-13090", in reiserfs_new_inode()
2115 inode->i_flags |= S_PRIVATE; in reiserfs_new_inode()
2118 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2119 retval = reiserfs_security_write(th, inode, security); in reiserfs_new_inode()
2120 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2131 reiserfs_update_sd(th, inode); in reiserfs_new_inode()
2138 INODE_PKEY(inode)->k_objectid = 0; in reiserfs_new_inode()
2141 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2142 dquot_free_inode(inode); in reiserfs_new_inode()
2143 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2151 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2152 dquot_drop(inode); in reiserfs_new_inode()
2153 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2154 inode->i_flags |= S_NOQUOTA; in reiserfs_new_inode()
2155 make_bad_inode(inode); in reiserfs_new_inode()
2158 clear_nlink(inode); in reiserfs_new_inode()
2160 unlock_new_inode(inode); /* OK to do even if we hadn't locked it */ in reiserfs_new_inode()
2161 iput(inode); in reiserfs_new_inode()
2178 static int grab_tail_page(struct inode *inode, in grab_tail_page() argument
2187 unsigned long index = (inode->i_size - 1) >> PAGE_SHIFT; in grab_tail_page()
2190 unsigned long blocksize = inode->i_sb->s_blocksize; in grab_tail_page()
2191 unsigned long offset = (inode->i_size) & (PAGE_SIZE - 1); in grab_tail_page()
2206 page = grab_cache_page(inode->i_mapping, index); in grab_tail_page()
2236 reiserfs_error(inode->i_sb, "clm-6000", in grab_tail_page()
2259 int reiserfs_truncate_file(struct inode *inode, int update_timestamps) in reiserfs_truncate_file() argument
2263 unsigned long offset = inode->i_size & (PAGE_SIZE - 1); in reiserfs_truncate_file()
2264 unsigned blocksize = inode->i_sb->s_blocksize; in reiserfs_truncate_file()
2271 reiserfs_write_lock(inode->i_sb); in reiserfs_truncate_file()
2273 if (inode->i_size > 0) { in reiserfs_truncate_file()
2274 error = grab_tail_page(inode, &page, &bh); in reiserfs_truncate_file()
2282 reiserfs_error(inode->i_sb, "clm-6001", in reiserfs_truncate_file()
2302 error = journal_begin(&th, inode->i_sb, in reiserfs_truncate_file()
2306 reiserfs_update_inode_transaction(inode); in reiserfs_truncate_file()
2314 add_save_link(&th, inode, 1); in reiserfs_truncate_file()
2315 err2 = reiserfs_do_truncate(&th, inode, page, update_timestamps); in reiserfs_truncate_file()
2327 error = remove_save_link(inode, 1 /* truncate */); in reiserfs_truncate_file()
2346 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2355 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2360 static int map_block_for_writepage(struct inode *inode, in map_block_for_writepage() argument
2374 loff_t byte_offset = ((loff_t)block << inode->i_sb->s_blocksize_bits)+1; in map_block_for_writepage()
2393 reiserfs_write_lock(inode->i_sb); in map_block_for_writepage()
2394 make_cpu_key(&key, inode, byte_offset, TYPE_ANY, 3); in map_block_for_writepage()
2397 retval = search_for_position_by_key(inode->i_sb, &key, &path); in map_block_for_writepage()
2411 reiserfs_warning(inode->i_sb, "clm-6002", in map_block_for_writepage()
2420 get_block_num(item, pos_in_item), inode); in map_block_for_writepage()
2427 fs_gen = get_generation(inode->i_sb); in map_block_for_writepage()
2432 retval = journal_begin(&th, inode->i_sb, jbegin_count); in map_block_for_writepage()
2435 reiserfs_update_inode_transaction(inode); in map_block_for_writepage()
2437 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2439 reiserfs_restore_prepared_buffer(inode->i_sb, in map_block_for_writepage()
2445 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in map_block_for_writepage()
2447 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2449 reiserfs_restore_prepared_buffer(inode->i_sb, bh); in map_block_for_writepage()
2458 set_block_dev_mapped(bh_result, 0, inode); in map_block_for_writepage()
2462 (byte_offset + bytes_copied) < inode->i_size) { in map_block_for_writepage()
2469 reiserfs_warning(inode->i_sb, "clm-6003", in map_block_for_writepage()
2470 "bad item inode %lu", inode->i_ino); in map_block_for_writepage()
2484 reiserfs_write_unlock(inode->i_sb); in map_block_for_writepage()
2488 retval = reiserfs_get_block(inode, block, bh_result, in map_block_for_writepage()
2522 struct inode *inode = page->mapping->host; in reiserfs_write_full_page() local
2523 unsigned long end_index = inode->i_size >> PAGE_SHIFT; in reiserfs_write_full_page()
2532 struct super_block *s = inode->i_sb; in reiserfs_write_full_page()
2562 last_offset = inode->i_size & (PAGE_SIZE - 1); in reiserfs_write_full_page()
2572 last_block = (i_size_read(inode) - 1) >> inode->i_blkbits; in reiserfs_write_full_page()
2592 if ((error = map_block_for_writepage(inode, bh, block))) { in reiserfs_write_full_page()
2614 reiserfs_update_inode_transaction(inode); in reiserfs_write_full_page()
2742 struct inode *inode = page->mapping->host; in reiserfs_writepage() local
2743 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_writepage()
2747 static void reiserfs_truncate_failed_write(struct inode *inode) in reiserfs_truncate_failed_write() argument
2749 truncate_inode_pages(inode->i_mapping, inode->i_size); in reiserfs_truncate_failed_write()
2750 reiserfs_truncate_file(inode, 0); in reiserfs_truncate_failed_write()
2758 struct inode *inode; in reiserfs_write_begin() local
2764 inode = mapping->host; in reiserfs_write_begin()
2767 (pos & (inode->i_sb->s_blocksize - 1)) == 0) { in reiserfs_write_begin()
2778 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_begin()
2780 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2790 if (ret && reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2810 reiserfs_write_lock(inode->i_sb); in reiserfs_write_begin()
2812 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_begin()
2822 reiserfs_truncate_failed_write(inode); in reiserfs_write_begin()
2829 struct inode *inode = page->mapping->host; in __reiserfs_write_begin() local
2834 depth = reiserfs_write_unlock_nested(inode->i_sb); in __reiserfs_write_begin()
2835 reiserfs_wait_on_write_block(inode->i_sb); in __reiserfs_write_begin()
2836 reiserfs_write_lock_nested(inode->i_sb, depth); in __reiserfs_write_begin()
2839 if (reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2850 if (ret && reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2870 reiserfs_write_lock(inode->i_sb); in __reiserfs_write_begin()
2872 reiserfs_write_unlock(inode->i_sb); in __reiserfs_write_begin()
2891 struct inode *inode = page->mapping->host; in reiserfs_write_end() local
2901 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_end()
2902 if (reiserfs_transaction_running(inode->i_sb)) in reiserfs_write_end()
2916 reiserfs_commit_page(inode, page, start, start + copied); in reiserfs_write_end()
2923 if (pos + copied > inode->i_size) { in reiserfs_write_end()
2925 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2932 if ((have_large_tails(inode->i_sb) in reiserfs_write_end()
2933 && inode->i_size > i_block_size(inode) * 4) in reiserfs_write_end()
2934 || (have_small_tails(inode->i_sb) in reiserfs_write_end()
2935 && inode->i_size > i_block_size(inode))) in reiserfs_write_end()
2936 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_write_end()
2938 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_write_end()
2942 reiserfs_update_inode_transaction(inode); in reiserfs_write_end()
2943 inode->i_size = pos + copied; in reiserfs_write_end()
2949 mark_inode_dirty(inode); in reiserfs_write_end()
2950 reiserfs_update_sd(&myth, inode); in reiserfs_write_end()
2958 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2962 mark_inode_dirty(inode); in reiserfs_write_end()
2970 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2974 if (pos + len > inode->i_size) in reiserfs_write_end()
2975 reiserfs_truncate_failed_write(inode); in reiserfs_write_end()
2980 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2984 reiserfs_update_sd(th, inode); in reiserfs_write_end()
2993 struct inode *inode = page->mapping->host; in reiserfs_commit_write() local
3000 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_commit_write()
3001 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_commit_write()
3002 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_commit_write()
3004 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_commit_write()
3007 reiserfs_commit_page(inode, page, from, to); in reiserfs_commit_write()
3014 if (pos > inode->i_size) { in reiserfs_commit_write()
3021 if ((have_large_tails(inode->i_sb) in reiserfs_commit_write()
3022 && inode->i_size > i_block_size(inode) * 4) in reiserfs_commit_write()
3023 || (have_small_tails(inode->i_sb) in reiserfs_commit_write()
3024 && inode->i_size > i_block_size(inode))) in reiserfs_commit_write()
3025 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_commit_write()
3027 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_commit_write()
3031 reiserfs_update_inode_transaction(inode); in reiserfs_commit_write()
3032 inode->i_size = pos; in reiserfs_commit_write()
3038 mark_inode_dirty(inode); in reiserfs_commit_write()
3039 reiserfs_update_sd(&myth, inode); in reiserfs_commit_write()
3047 mark_inode_dirty(inode); in reiserfs_commit_write()
3059 reiserfs_update_sd(th, inode); in reiserfs_commit_write()
3066 void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) in sd_attrs_to_i_attrs() argument
3068 if (reiserfs_attrs(inode->i_sb)) { in sd_attrs_to_i_attrs()
3070 inode->i_flags |= S_SYNC; in sd_attrs_to_i_attrs()
3072 inode->i_flags &= ~S_SYNC; in sd_attrs_to_i_attrs()
3074 inode->i_flags |= S_IMMUTABLE; in sd_attrs_to_i_attrs()
3076 inode->i_flags &= ~S_IMMUTABLE; in sd_attrs_to_i_attrs()
3078 inode->i_flags |= S_APPEND; in sd_attrs_to_i_attrs()
3080 inode->i_flags &= ~S_APPEND; in sd_attrs_to_i_attrs()
3082 inode->i_flags |= S_NOATIME; in sd_attrs_to_i_attrs()
3084 inode->i_flags &= ~S_NOATIME; in sd_attrs_to_i_attrs()
3086 REISERFS_I(inode)->i_flags |= i_nopack_mask; in sd_attrs_to_i_attrs()
3088 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in sd_attrs_to_i_attrs()
3096 static int invalidatepage_can_drop(struct inode *inode, struct buffer_head *bh) in invalidatepage_can_drop() argument
3099 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in invalidatepage_can_drop()
3110 if (reiserfs_file_data_log(inode)) { in invalidatepage_can_drop()
3137 && jl != SB_JOURNAL(inode->i_sb)->j_current_jl) in invalidatepage_can_drop()
3154 struct inode *inode = page->mapping->host; in reiserfs_invalidatepage() local
3181 if (invalidatepage_can_drop(inode, bh)) in reiserfs_invalidatepage()
3205 struct inode *inode = page->mapping->host; in reiserfs_set_page_dirty() local
3206 if (reiserfs_file_data_log(inode)) { in reiserfs_set_page_dirty()
3224 struct inode *inode = page->mapping->host; in reiserfs_releasepage() local
3225 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in reiserfs_releasepage()
3258 struct inode *inode = file->f_mapping->host; in reiserfs_direct_IO() local
3262 ret = blockdev_direct_IO(iocb, inode, iter, in reiserfs_direct_IO()
3270 loff_t isize = i_size_read(inode); in reiserfs_direct_IO()
3273 if ((end > isize) && inode_newsize_ok(inode, isize) == 0) { in reiserfs_direct_IO()
3274 truncate_setsize(inode, isize); in reiserfs_direct_IO()
3275 reiserfs_vfs_truncate_file(inode); in reiserfs_direct_IO()
3284 struct inode *inode = d_inode(dentry); in reiserfs_setattr() local
3295 if (is_quota_modification(inode, attr)) { in reiserfs_setattr()
3296 error = dquot_initialize(inode); in reiserfs_setattr()
3300 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3306 if (get_inode_item_key_version(inode) == KEY_FORMAT_3_5 && in reiserfs_setattr()
3308 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3313 inode_dio_wait(inode); in reiserfs_setattr()
3316 if (attr->ia_size > inode->i_size) { in reiserfs_setattr()
3317 error = generic_cont_expand_simple(inode, attr->ia_size); in reiserfs_setattr()
3318 if (REISERFS_I(inode)->i_prealloc_count > 0) { in reiserfs_setattr()
3322 err = journal_begin(&th, inode->i_sb, 4); in reiserfs_setattr()
3324 reiserfs_discard_prealloc(&th, inode); in reiserfs_setattr()
3331 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3341 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3345 (get_inode_sd_version(inode) == STAT_DATA_V1)) { in reiserfs_setattr()
3351 if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || in reiserfs_setattr()
3352 (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { in reiserfs_setattr()
3356 (REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb) + in reiserfs_setattr()
3357 REISERFS_QUOTA_DEL_BLOCKS(inode->i_sb)) + in reiserfs_setattr()
3360 error = reiserfs_chown_xattrs(inode, attr); in reiserfs_setattr()
3369 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3370 error = journal_begin(&th, inode->i_sb, jbegin_count); in reiserfs_setattr()
3371 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3374 error = dquot_transfer(inode, attr); in reiserfs_setattr()
3375 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3378 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3387 inode->i_uid = attr->ia_uid; in reiserfs_setattr()
3389 inode->i_gid = attr->ia_gid; in reiserfs_setattr()
3390 mark_inode_dirty(inode); in reiserfs_setattr()
3392 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3398 attr->ia_size != i_size_read(inode)) { in reiserfs_setattr()
3399 error = inode_newsize_ok(inode, attr->ia_size); in reiserfs_setattr()
3405 mutex_lock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3406 truncate_setsize(inode, attr->ia_size); in reiserfs_setattr()
3407 reiserfs_truncate_file(inode, 1); in reiserfs_setattr()
3408 mutex_unlock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3413 setattr_copy(inode, attr); in reiserfs_setattr()
3414 mark_inode_dirty(inode); in reiserfs_setattr()
3417 if (!error && reiserfs_posixacl(inode->i_sb)) { in reiserfs_setattr()
3419 error = reiserfs_acl_chmod(inode); in reiserfs_setattr()