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()
335 map_bh(bh_result, inode->i_sb, blocknr); in _get_block_create_0()
395 memset(p, 0, inode->i_sb->s_blocksize); in _get_block_create_0()
406 if ((le_ih_k_offset(ih) + path.pos_in_item) > inode->i_size) in _get_block_create_0()
408 if ((le_ih_k_offset(ih) - 1 + ih_item_len(ih)) > inode->i_size) { in _get_block_create_0()
410 inode->i_size - (le_ih_k_offset(ih) - 1) - in _get_block_create_0()
434 result = search_for_position_by_key(inode->i_sb, &key, &path); in _get_block_create_0()
455 map_bh(bh_result, inode->i_sb, 0); in _get_block_create_0()
464 static int reiserfs_bmap(struct inode *inode, sector_t block, in reiserfs_bmap() argument
467 if (!file_capable(inode, block)) in reiserfs_bmap()
470 reiserfs_write_lock(inode->i_sb); in reiserfs_bmap()
472 _get_block_create_0(inode, block, bh_result, 0); in reiserfs_bmap()
473 reiserfs_write_unlock(inode->i_sb); in reiserfs_bmap()
495 static int reiserfs_get_block_create_0(struct inode *inode, sector_t block, in reiserfs_get_block_create_0() argument
499 return reiserfs_get_block(inode, block, bh_result, GET_BLOCK_NO_HOLE); in reiserfs_get_block_create_0()
506 static int reiserfs_get_blocks_direct_io(struct inode *inode, in reiserfs_get_blocks_direct_io() argument
520 bh_result->b_size = i_blocksize(inode); in reiserfs_get_blocks_direct_io()
522 ret = reiserfs_get_block(inode, iblock, bh_result, in reiserfs_get_blocks_direct_io()
541 if (REISERFS_I(inode)->i_flags & i_pack_on_close_mask) { in reiserfs_get_blocks_direct_io()
544 reiserfs_write_lock(inode->i_sb); in reiserfs_get_blocks_direct_io()
546 err = reiserfs_commit_for_inode(inode); in reiserfs_get_blocks_direct_io()
547 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_get_blocks_direct_io()
549 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_blocks_direct_io()
568 static int convert_tail_for_hole(struct inode *inode, in convert_tail_for_hole() argument
592 tail_page = grab_cache_page(inode->i_mapping, index); in convert_tail_for_hole()
633 struct inode *inode, in _allocate_block() argument
641 return reiserfs_new_unf_blocknrs2(th, inode, allocated_block_nr, in _allocate_block()
645 return reiserfs_new_unf_blocknrs(th, inode, allocated_block_nr, path, in _allocate_block()
649 int reiserfs_get_block(struct inode *inode, sector_t block, in reiserfs_get_block() argument
674 2 * REISERFS_QUOTA_TRANS_BLOCKS(inode->i_sb); in reiserfs_get_block()
678 (((loff_t) block) << inode->i_sb->s_blocksize_bits) + 1; in reiserfs_get_block()
680 reiserfs_write_lock(inode->i_sb); in reiserfs_get_block()
681 version = get_inode_item_key_version(inode); in reiserfs_get_block()
683 if (!file_capable(inode, block)) { in reiserfs_get_block()
684 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
695 ret = _get_block_create_0(inode, block, bh_result, in reiserfs_get_block()
697 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
706 reiserfs_transaction_running(inode->i_sb)) in reiserfs_get_block()
714 if ((have_large_tails(inode->i_sb) in reiserfs_get_block()
715 && inode->i_size < i_block_size(inode) * 4) in reiserfs_get_block()
716 || (have_small_tails(inode->i_sb) in reiserfs_get_block()
717 && inode->i_size < i_block_size(inode))) in reiserfs_get_block()
718 REISERFS_I(inode)->i_flags |= i_pack_on_close_mask; in reiserfs_get_block()
721 make_cpu_key(&key, inode, new_offset, TYPE_ANY, 3 /*key length */ ); in reiserfs_get_block()
722 if ((new_offset + inode->i_sb->s_blocksize - 1) > inode->i_size) { in reiserfs_get_block()
724 th = reiserfs_persistent_transaction(inode->i_sb, jbegin_count); in reiserfs_get_block()
729 reiserfs_update_inode_transaction(inode); in reiserfs_get_block()
733 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
744 fs_gen = get_generation(inode->i_sb); in reiserfs_get_block()
756 _allocate_block(th, block, inode, &allocated_block_nr, in reiserfs_get_block()
765 SB_JOURNAL(inode->i_sb)->j_next_async_flush = 1; in reiserfs_get_block()
766 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
770 _allocate_block(th, block, inode, in reiserfs_get_block()
783 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
799 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in reiserfs_get_block()
800 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_get_block()
802 reiserfs_restore_prepared_buffer(inode->i_sb, in reiserfs_get_block()
808 && reiserfs_data_ordered(inode->i_sb)) in reiserfs_get_block()
809 reiserfs_add_ordered_list(inode, bh_result); in reiserfs_get_block()
813 reiserfs_update_sd(th, inode); in reiserfs_get_block()
815 set_block_dev_mapped(bh_result, unfm_ptr, inode); in reiserfs_get_block()
821 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
859 allocated_block_nr, inode); in reiserfs_get_block()
869 inode, (char *)&unp); in reiserfs_get_block()
871 reiserfs_free_block(th, inode, in reiserfs_get_block()
885 1) & ~(inode->i_sb->s_blocksize - 1)) + 1; in reiserfs_get_block()
894 allocated_block_nr, inode); in reiserfs_get_block()
921 convert_tail_for_hole(inode, bh_result, in reiserfs_get_block()
925 reiserfs_error(inode->i_sb, in reiserfs_get_block()
929 inode->i_ino, in reiserfs_get_block()
937 th = reiserfs_persistent_transaction(inode->i_sb, 3); in reiserfs_get_block()
940 inode, in reiserfs_get_block()
949 direct2indirect(th, inode, &path, unbh, in reiserfs_get_block()
953 reiserfs_free_block(th, inode, in reiserfs_get_block()
979 reiserfs_add_tail_list(inode, unbh); in reiserfs_get_block()
1010 MAX_ITEM_LEN(inode->i_sb->s_blocksize) / in reiserfs_get_block()
1021 make_cpu_key(&tmp_key, inode, in reiserfs_get_block()
1025 inode->i_sb->s_blocksize), in reiserfs_get_block()
1033 cpu_key_k_offset(&tmp_key)) >> inode->i_sb-> in reiserfs_get_block()
1055 allocated_block_nr, inode); in reiserfs_get_block()
1069 reiserfs_paste_into_item(th, &path, &tmp_key, inode, in reiserfs_get_block()
1078 reiserfs_free_block(th, inode, in reiserfs_get_block()
1089 inode->i_size += in reiserfs_get_block()
1090 inode->i_sb->s_blocksize * blocks_needed; in reiserfs_get_block()
1106 retval = restart_transaction(th, inode, &path); in reiserfs_get_block()
1115 reiserfs_cond_resched(inode->i_sb); in reiserfs_get_block()
1117 retval = search_for_position_by_key(inode->i_sb, &key, &path); in reiserfs_get_block()
1123 reiserfs_warning(inode->i_sb, "vs-825", in reiserfs_get_block()
1127 reiserfs_free_block(th, inode, in reiserfs_get_block()
1144 reiserfs_update_sd(th, inode); in reiserfs_get_block()
1150 reiserfs_write_unlock(inode->i_sb); in reiserfs_get_block()
1165 static int real_space_diff(struct inode *inode, int sd_size) in real_space_diff() argument
1168 loff_t blocksize = inode->i_sb->s_blocksize; in real_space_diff()
1170 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) in real_space_diff()
1183 ((inode->i_size + in real_space_diff()
1184 (blocksize - 1)) >> inode->i_sb->s_blocksize_bits) * UNFM_P_SIZE + in real_space_diff()
1189 static inline loff_t to_real_used_space(struct inode *inode, ulong blocks, in to_real_used_space() argument
1192 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_real_used_space()
1193 return inode->i_size + in to_real_used_space()
1194 (loff_t) (real_space_diff(inode, sd_size)); in to_real_used_space()
1196 return ((loff_t) real_space_diff(inode, sd_size)) + in to_real_used_space()
1201 static inline ulong to_fake_used_blocks(struct inode *inode, int sd_size) in to_fake_used_blocks() argument
1203 loff_t bytes = inode_get_bytes(inode); in to_fake_used_blocks()
1204 loff_t real_space = real_space_diff(inode, sd_size); in to_fake_used_blocks()
1207 if (S_ISLNK(inode->i_mode) || S_ISDIR(inode->i_mode)) { in to_fake_used_blocks()
1229 static void init_inode(struct inode *inode, struct treepath *path) in init_inode() argument
1238 copy_key(INODE_PKEY(inode), &ih->ih_key); in init_inode()
1240 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in init_inode()
1241 REISERFS_I(inode)->i_flags = 0; in init_inode()
1242 REISERFS_I(inode)->i_prealloc_block = 0; in init_inode()
1243 REISERFS_I(inode)->i_prealloc_count = 0; in init_inode()
1244 REISERFS_I(inode)->i_trans_id = 0; in init_inode()
1245 REISERFS_I(inode)->i_jl = NULL; in init_inode()
1246 reiserfs_init_xattr_rwsem(inode); in init_inode()
1253 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1254 set_inode_sd_version(inode, STAT_DATA_V1); in init_inode()
1255 inode->i_mode = sd_v1_mode(sd); in init_inode()
1256 set_nlink(inode, sd_v1_nlink(sd)); in init_inode()
1257 i_uid_write(inode, sd_v1_uid(sd)); in init_inode()
1258 i_gid_write(inode, sd_v1_gid(sd)); in init_inode()
1259 inode->i_size = sd_v1_size(sd); in init_inode()
1260 inode->i_atime.tv_sec = sd_v1_atime(sd); in init_inode()
1261 inode->i_mtime.tv_sec = sd_v1_mtime(sd); in init_inode()
1262 inode_set_ctime(inode, sd_v1_ctime(sd), 0); in init_inode()
1263 inode->i_atime.tv_nsec = 0; in init_inode()
1264 inode->i_mtime.tv_nsec = 0; in init_inode()
1266 inode->i_blocks = sd_v1_blocks(sd); in init_inode()
1267 inode->i_generation = le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1268 blocks = (inode->i_size + 511) >> 9; in init_inode()
1269 blocks = _ROUND_UP(blocks, inode->i_sb->s_blocksize >> 9); in init_inode()
1279 if (inode->i_blocks > blocks) { in init_inode()
1280 inode->i_blocks = blocks; in init_inode()
1284 REISERFS_I(inode)->i_first_direct_byte = in init_inode()
1291 if (inode->i_blocks & 1) { in init_inode()
1292 inode->i_blocks++; in init_inode()
1294 inode_set_bytes(inode, in init_inode()
1295 to_real_used_space(inode, inode->i_blocks, in init_inode()
1301 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in init_inode()
1309 inode->i_mode = sd_v2_mode(sd); in init_inode()
1310 set_nlink(inode, sd_v2_nlink(sd)); in init_inode()
1311 i_uid_write(inode, sd_v2_uid(sd)); in init_inode()
1312 inode->i_size = sd_v2_size(sd); in init_inode()
1313 i_gid_write(inode, sd_v2_gid(sd)); in init_inode()
1314 inode->i_mtime.tv_sec = sd_v2_mtime(sd); in init_inode()
1315 inode->i_atime.tv_sec = sd_v2_atime(sd); in init_inode()
1316 inode_set_ctime(inode, sd_v2_ctime(sd), 0); in init_inode()
1317 inode->i_mtime.tv_nsec = 0; in init_inode()
1318 inode->i_atime.tv_nsec = 0; in init_inode()
1319 inode->i_blocks = sd_v2_blocks(sd); in init_inode()
1321 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in init_inode()
1322 inode->i_generation = in init_inode()
1323 le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in init_inode()
1325 inode->i_generation = sd_v2_generation(sd); in init_inode()
1327 if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) in init_inode()
1328 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in init_inode()
1330 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in init_inode()
1331 REISERFS_I(inode)->i_first_direct_byte = 0; in init_inode()
1332 set_inode_sd_version(inode, STAT_DATA_V2); in init_inode()
1333 inode_set_bytes(inode, in init_inode()
1334 to_real_used_space(inode, inode->i_blocks, in init_inode()
1340 REISERFS_I(inode)->i_attrs = sd_v2_attrs(sd); in init_inode()
1341 sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode); in init_inode()
1345 if (S_ISREG(inode->i_mode)) { in init_inode()
1346 inode->i_op = &reiserfs_file_inode_operations; in init_inode()
1347 inode->i_fop = &reiserfs_file_operations; in init_inode()
1348 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1349 } else if (S_ISDIR(inode->i_mode)) { in init_inode()
1350 inode->i_op = &reiserfs_dir_inode_operations; in init_inode()
1351 inode->i_fop = &reiserfs_dir_operations; in init_inode()
1352 } else if (S_ISLNK(inode->i_mode)) { in init_inode()
1353 inode->i_op = &reiserfs_symlink_inode_operations; in init_inode()
1354 inode_nohighmem(inode); in init_inode()
1355 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in init_inode()
1357 inode->i_blocks = 0; in init_inode()
1358 inode->i_op = &reiserfs_special_inode_operations; in init_inode()
1359 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in init_inode()
1364 static void inode2sd(void *sd, struct inode *inode, loff_t size) in inode2sd() argument
1368 set_sd_v2_mode(sd_v2, inode->i_mode); in inode2sd()
1369 set_sd_v2_nlink(sd_v2, inode->i_nlink); in inode2sd()
1370 set_sd_v2_uid(sd_v2, i_uid_read(inode)); in inode2sd()
1372 set_sd_v2_gid(sd_v2, i_gid_read(inode)); in inode2sd()
1373 set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); in inode2sd()
1374 set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); in inode2sd()
1375 set_sd_v2_ctime(sd_v2, inode_get_ctime(inode).tv_sec); in inode2sd()
1376 set_sd_v2_blocks(sd_v2, to_fake_used_blocks(inode, SD_V2_SIZE)); in inode2sd()
1377 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in inode2sd()
1378 set_sd_v2_rdev(sd_v2, new_encode_dev(inode->i_rdev)); in inode2sd()
1380 set_sd_v2_generation(sd_v2, inode->i_generation); in inode2sd()
1381 set_sd_v2_attrs(sd_v2, REISERFS_I(inode)->i_attrs); in inode2sd()
1385 static void inode2sd_v1(void *sd, struct inode *inode, loff_t size) in inode2sd_v1() argument
1389 set_sd_v1_mode(sd_v1, inode->i_mode); in inode2sd_v1()
1390 set_sd_v1_uid(sd_v1, i_uid_read(inode)); in inode2sd_v1()
1391 set_sd_v1_gid(sd_v1, i_gid_read(inode)); in inode2sd_v1()
1392 set_sd_v1_nlink(sd_v1, inode->i_nlink); in inode2sd_v1()
1394 set_sd_v1_atime(sd_v1, inode->i_atime.tv_sec); in inode2sd_v1()
1395 set_sd_v1_ctime(sd_v1, inode_get_ctime(inode).tv_sec); in inode2sd_v1()
1396 set_sd_v1_mtime(sd_v1, inode->i_mtime.tv_sec); in inode2sd_v1()
1398 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in inode2sd_v1()
1399 set_sd_v1_rdev(sd_v1, new_encode_dev(inode->i_rdev)); in inode2sd_v1()
1401 set_sd_v1_blocks(sd_v1, to_fake_used_blocks(inode, SD_V1_SIZE)); in inode2sd_v1()
1405 REISERFS_I(inode)->i_first_direct_byte); in inode2sd_v1()
1412 static void update_stat_data(struct treepath *path, struct inode *inode, in update_stat_data() argument
1422 reiserfs_panic(inode->i_sb, "vs-13065", "key %k, found item %h", in update_stat_data()
1423 INODE_PKEY(inode), ih); in update_stat_data()
1427 inode2sd_v1(ih_item_body(bh, ih), inode, size); in update_stat_data()
1429 inode2sd(ih_item_body(bh, ih), inode, size); in update_stat_data()
1436 struct inode *inode, loff_t size) in reiserfs_update_sd_size() argument
1448 make_cpu_key(&key, inode, SD_OFFSET, TYPE_STAT_DATA, 3); in reiserfs_update_sd_size()
1453 retval = search_item(inode->i_sb, &key, &path); in reiserfs_update_sd_size()
1455 reiserfs_error(inode->i_sb, "vs-13050", in reiserfs_update_sd_size()
1463 if (inode->i_nlink == 0) { in reiserfs_update_sd_size()
1467 reiserfs_warning(inode->i_sb, "vs-13060", in reiserfs_update_sd_size()
1470 INODE_PKEY(inode), inode->i_nlink, in reiserfs_update_sd_size()
1484 fs_gen = get_generation(inode->i_sb); in reiserfs_update_sd_size()
1485 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in reiserfs_update_sd_size()
1488 if (fs_changed(fs_gen, inode->i_sb) in reiserfs_update_sd_size()
1490 reiserfs_restore_prepared_buffer(inode->i_sb, bh); in reiserfs_update_sd_size()
1495 update_stat_data(&path, inode, size); in reiserfs_update_sd_size()
1508 static void reiserfs_make_bad_inode(struct inode *inode) in reiserfs_make_bad_inode() argument
1510 memset(INODE_PKEY(inode), 0, KEY_SIZE); in reiserfs_make_bad_inode()
1511 make_bad_inode(inode); in reiserfs_make_bad_inode()
1518 int reiserfs_init_locked_inode(struct inode *inode, void *p) in reiserfs_init_locked_inode() argument
1521 inode->i_ino = args->objectid; in reiserfs_init_locked_inode()
1522 INODE_PKEY(inode)->k_dir_id = cpu_to_le32(args->dirid); in reiserfs_init_locked_inode()
1530 void reiserfs_read_locked_inode(struct inode *inode, in reiserfs_read_locked_inode() argument
1544 _make_cpu_key(&key, KEY_FORMAT_3_5, dirino, inode->i_ino, 0, 0, 3); in reiserfs_read_locked_inode()
1547 retval = search_item(inode->i_sb, &key, &path_to_sd); in reiserfs_read_locked_inode()
1549 reiserfs_error(inode->i_sb, "vs-13070", in reiserfs_read_locked_inode()
1552 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1559 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1560 clear_nlink(inode); in reiserfs_read_locked_inode()
1564 init_inode(inode, &path_to_sd); in reiserfs_read_locked_inode()
1585 if ((inode->i_nlink == 0) && in reiserfs_read_locked_inode()
1586 !REISERFS_SB(inode->i_sb)->s_is_unlinked_ok) { in reiserfs_read_locked_inode()
1587 reiserfs_warning(inode->i_sb, "vs-13075", in reiserfs_read_locked_inode()
1591 reiserfs_make_bad_inode(inode); in reiserfs_read_locked_inode()
1600 if (get_inode_sd_version(inode) == STAT_DATA_V1) in reiserfs_read_locked_inode()
1601 cache_no_acl(inode); in reiserfs_read_locked_inode()
1616 int reiserfs_find_actor(struct inode *inode, void *opaque) in reiserfs_find_actor() argument
1622 return (inode->i_ino == args->objectid) && in reiserfs_find_actor()
1623 (le32_to_cpu(INODE_PKEY(inode)->k_dir_id) == args->dirid); in reiserfs_find_actor()
1626 struct inode *reiserfs_iget(struct super_block *s, const struct cpu_key *key) in reiserfs_iget()
1628 struct inode *inode; in reiserfs_iget() local
1635 inode = iget5_locked(s, key->on_disk_key.k_objectid, in reiserfs_iget()
1639 if (!inode) in reiserfs_iget()
1642 if (inode->i_state & I_NEW) { in reiserfs_iget()
1643 reiserfs_read_locked_inode(inode, &args); in reiserfs_iget()
1644 unlock_new_inode(inode); in reiserfs_iget()
1647 if (comp_short_keys(INODE_PKEY(inode), key) || is_bad_inode(inode)) { in reiserfs_iget()
1649 iput(inode); in reiserfs_iget()
1650 inode = NULL; in reiserfs_iget()
1652 return inode; in reiserfs_iget()
1660 struct inode *inode; in reiserfs_get_dentry() local
1665 inode = reiserfs_iget(sb, &key); in reiserfs_get_dentry()
1666 if (inode && !IS_ERR(inode) && generation != 0 && in reiserfs_get_dentry()
1667 generation != inode->i_generation) { in reiserfs_get_dentry()
1668 iput(inode); in reiserfs_get_dentry()
1669 inode = NULL; in reiserfs_get_dentry()
1673 return d_obtain_alias(inode); in reiserfs_get_dentry()
1720 int reiserfs_encode_fh(struct inode *inode, __u32 * data, int *lenp, in reiserfs_encode_fh() argument
1721 struct inode *parent) in reiserfs_encode_fh()
1733 data[0] = inode->i_ino; in reiserfs_encode_fh()
1734 data[1] = le32_to_cpu(INODE_PKEY(inode)->k_dir_id); in reiserfs_encode_fh()
1735 data[2] = inode->i_generation; in reiserfs_encode_fh()
1759 int reiserfs_write_inode(struct inode *inode, struct writeback_control *wbc) in reiserfs_write_inode() argument
1764 if (sb_rdonly(inode->i_sb)) in reiserfs_write_inode()
1774 reiserfs_write_lock(inode->i_sb); in reiserfs_write_inode()
1775 if (!journal_begin(&th, inode->i_sb, jbegin_count)) { in reiserfs_write_inode()
1776 reiserfs_update_sd(&th, inode); in reiserfs_write_inode()
1779 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_inode()
1789 struct inode *inode, in reiserfs_new_directory() argument
1791 struct inode *dir) in reiserfs_new_directory()
1844 return reiserfs_insert_item(th, path, &key, ih, inode, body); in reiserfs_new_directory()
1852 struct inode *inode, in reiserfs_new_symlink() argument
1887 return reiserfs_insert_item(th, path, &key, ih, inode, symname); in reiserfs_new_symlink()
1911 struct inode *dir, umode_t mode, const char *symname, in reiserfs_new_inode()
1915 struct inode *inode, in reiserfs_new_inode() argument
1931 err = dquot_alloc_inode(inode); in reiserfs_new_inode()
1947 args.objectid = inode->i_ino = le32_to_cpu(ih.ih_key.k_objectid); in reiserfs_new_inode()
1954 memcpy(INODE_PKEY(inode), &ih.ih_key, KEY_SIZE); in reiserfs_new_inode()
1957 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
1958 err = insert_inode_locked4(inode, args.objectid, in reiserfs_new_inode()
1960 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
1973 inode->i_generation = le32_to_cpu(INODE_PKEY(dir)->k_objectid); in reiserfs_new_inode()
1976 inode->i_generation = in reiserfs_new_inode()
1979 inode->i_generation = ++event; in reiserfs_new_inode()
1983 set_nlink(inode, (S_ISDIR(mode) ? 2 : 1)); in reiserfs_new_inode()
1987 inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode); in reiserfs_new_inode()
1988 inode->i_size = i_size; in reiserfs_new_inode()
1989 inode->i_blocks = 0; in reiserfs_new_inode()
1990 inode->i_bytes = 0; in reiserfs_new_inode()
1991 REISERFS_I(inode)->i_first_direct_byte = S_ISLNK(mode) ? 1 : in reiserfs_new_inode()
1994 INIT_LIST_HEAD(&REISERFS_I(inode)->i_prealloc_list); in reiserfs_new_inode()
1995 REISERFS_I(inode)->i_flags = 0; in reiserfs_new_inode()
1996 REISERFS_I(inode)->i_prealloc_block = 0; in reiserfs_new_inode()
1997 REISERFS_I(inode)->i_prealloc_count = 0; in reiserfs_new_inode()
1998 REISERFS_I(inode)->i_trans_id = 0; in reiserfs_new_inode()
1999 REISERFS_I(inode)->i_jl = NULL; in reiserfs_new_inode()
2000 REISERFS_I(inode)->i_attrs = in reiserfs_new_inode()
2002 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode); in reiserfs_new_inode()
2003 reiserfs_init_xattr_rwsem(inode); in reiserfs_new_inode()
2023 if (i_uid_read(inode) & ~0xffff || i_gid_read(inode) & ~0xffff) { in reiserfs_new_inode()
2028 inode2sd_v1(&sd, inode, inode->i_size); in reiserfs_new_inode()
2030 inode2sd(&sd, inode, inode->i_size); in reiserfs_new_inode()
2038 set_inode_item_key_version(inode, KEY_FORMAT_3_5); in reiserfs_new_inode()
2040 set_inode_item_key_version(inode, KEY_FORMAT_3_6); in reiserfs_new_inode()
2042 set_inode_sd_version(inode, STAT_DATA_V1); in reiserfs_new_inode()
2044 set_inode_sd_version(inode, STAT_DATA_V2); in reiserfs_new_inode()
2052 reiserfs_insert_item(th, &path_to_key, &key, &ih, inode, in reiserfs_new_inode()
2066 reiserfs_new_directory(th, inode, &ih, &path_to_key, dir); in reiserfs_new_inode()
2074 reiserfs_new_symlink(th, inode, &ih, &path_to_key, symname, in reiserfs_new_inode()
2089 reiserfs_init_priv_inode(inode); in reiserfs_new_inode()
2091 if (reiserfs_posixacl(inode->i_sb)) { in reiserfs_new_inode()
2092 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2093 retval = reiserfs_inherit_default_acl(th, dir, dentry, inode); in reiserfs_new_inode()
2094 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2101 } else if (inode->i_sb->s_flags & SB_POSIXACL) { in reiserfs_new_inode()
2102 reiserfs_warning(inode->i_sb, "jdm-13090", in reiserfs_new_inode()
2108 reiserfs_write_unlock(inode->i_sb); in reiserfs_new_inode()
2109 retval = reiserfs_security_write(th, inode, security); in reiserfs_new_inode()
2110 reiserfs_write_lock(inode->i_sb); in reiserfs_new_inode()
2121 reiserfs_update_sd(th, inode); in reiserfs_new_inode()
2128 INODE_PKEY(inode)->k_objectid = 0; in reiserfs_new_inode()
2131 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2132 dquot_free_inode(inode); in reiserfs_new_inode()
2133 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2141 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_new_inode()
2142 dquot_drop(inode); in reiserfs_new_inode()
2143 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_new_inode()
2144 inode->i_flags |= S_NOQUOTA; in reiserfs_new_inode()
2145 make_bad_inode(inode); in reiserfs_new_inode()
2148 clear_nlink(inode); in reiserfs_new_inode()
2150 if (inode->i_state & I_NEW) in reiserfs_new_inode()
2151 unlock_new_inode(inode); in reiserfs_new_inode()
2152 iput(inode); in reiserfs_new_inode()
2169 static int grab_tail_page(struct inode *inode, in grab_tail_page() argument
2178 unsigned long index = (inode->i_size - 1) >> PAGE_SHIFT; in grab_tail_page()
2181 unsigned long blocksize = inode->i_sb->s_blocksize; in grab_tail_page()
2182 unsigned long offset = (inode->i_size) & (PAGE_SIZE - 1); in grab_tail_page()
2197 page = grab_cache_page(inode->i_mapping, index); in grab_tail_page()
2227 reiserfs_error(inode->i_sb, "clm-6000", in grab_tail_page()
2250 int reiserfs_truncate_file(struct inode *inode, int update_timestamps) in reiserfs_truncate_file() argument
2254 unsigned long offset = inode->i_size & (PAGE_SIZE - 1); in reiserfs_truncate_file()
2255 unsigned blocksize = inode->i_sb->s_blocksize; in reiserfs_truncate_file()
2262 reiserfs_write_lock(inode->i_sb); in reiserfs_truncate_file()
2264 if (inode->i_size > 0) { in reiserfs_truncate_file()
2265 error = grab_tail_page(inode, &page, &bh); in reiserfs_truncate_file()
2273 reiserfs_error(inode->i_sb, "clm-6001", in reiserfs_truncate_file()
2293 error = journal_begin(&th, inode->i_sb, in reiserfs_truncate_file()
2297 reiserfs_update_inode_transaction(inode); in reiserfs_truncate_file()
2305 add_save_link(&th, inode, 1); in reiserfs_truncate_file()
2306 err2 = reiserfs_do_truncate(&th, inode, page, update_timestamps); in reiserfs_truncate_file()
2318 error = remove_save_link(inode, 1 /* truncate */); in reiserfs_truncate_file()
2337 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2346 reiserfs_write_unlock(inode->i_sb); in reiserfs_truncate_file()
2351 static int map_block_for_writepage(struct inode *inode, in map_block_for_writepage() argument
2365 loff_t byte_offset = ((loff_t)block << inode->i_sb->s_blocksize_bits)+1; in map_block_for_writepage()
2384 reiserfs_write_lock(inode->i_sb); in map_block_for_writepage()
2385 make_cpu_key(&key, inode, byte_offset, TYPE_ANY, 3); in map_block_for_writepage()
2388 retval = search_for_position_by_key(inode->i_sb, &key, &path); in map_block_for_writepage()
2402 reiserfs_warning(inode->i_sb, "clm-6002", in map_block_for_writepage()
2411 get_block_num(item, pos_in_item), inode); in map_block_for_writepage()
2418 fs_gen = get_generation(inode->i_sb); in map_block_for_writepage()
2423 retval = journal_begin(&th, inode->i_sb, jbegin_count); in map_block_for_writepage()
2426 reiserfs_update_inode_transaction(inode); in map_block_for_writepage()
2428 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2430 reiserfs_restore_prepared_buffer(inode->i_sb, in map_block_for_writepage()
2436 reiserfs_prepare_for_journal(inode->i_sb, bh, 1); in map_block_for_writepage()
2438 if (fs_changed(fs_gen, inode->i_sb) in map_block_for_writepage()
2440 reiserfs_restore_prepared_buffer(inode->i_sb, bh); in map_block_for_writepage()
2449 set_block_dev_mapped(bh_result, 0, inode); in map_block_for_writepage()
2453 (byte_offset + bytes_copied) < inode->i_size) { in map_block_for_writepage()
2460 reiserfs_warning(inode->i_sb, "clm-6003", in map_block_for_writepage()
2461 "bad item inode %lu", inode->i_ino); in map_block_for_writepage()
2475 reiserfs_write_unlock(inode->i_sb); in map_block_for_writepage()
2479 retval = reiserfs_get_block(inode, block, bh_result, in map_block_for_writepage()
2513 struct inode *inode = page->mapping->host; in reiserfs_write_full_page() local
2514 unsigned long end_index = inode->i_size >> PAGE_SHIFT; in reiserfs_write_full_page()
2523 struct super_block *s = inode->i_sb; in reiserfs_write_full_page()
2553 last_offset = inode->i_size & (PAGE_SIZE - 1); in reiserfs_write_full_page()
2563 last_block = (i_size_read(inode) - 1) >> inode->i_blkbits; in reiserfs_write_full_page()
2581 if ((error = map_block_for_writepage(inode, bh, block))) { in reiserfs_write_full_page()
2603 reiserfs_update_inode_transaction(inode); in reiserfs_write_full_page()
2731 struct inode *inode = page->mapping->host; in reiserfs_writepage() local
2732 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_writepage()
2736 static void reiserfs_truncate_failed_write(struct inode *inode) in reiserfs_truncate_failed_write() argument
2738 truncate_inode_pages(inode->i_mapping, inode->i_size); in reiserfs_truncate_failed_write()
2739 reiserfs_truncate_file(inode, 0); in reiserfs_truncate_failed_write()
2747 struct inode *inode; in reiserfs_write_begin() local
2753 inode = mapping->host; in reiserfs_write_begin()
2760 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_begin()
2762 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2772 if (ret && reiserfs_transaction_running(inode->i_sb)) { in reiserfs_write_begin()
2792 reiserfs_write_lock(inode->i_sb); in reiserfs_write_begin()
2794 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_begin()
2804 reiserfs_truncate_failed_write(inode); in reiserfs_write_begin()
2811 struct inode *inode = page->mapping->host; in __reiserfs_write_begin() local
2816 depth = reiserfs_write_unlock_nested(inode->i_sb); in __reiserfs_write_begin()
2817 reiserfs_wait_on_write_block(inode->i_sb); in __reiserfs_write_begin()
2818 reiserfs_write_lock_nested(inode->i_sb, depth); in __reiserfs_write_begin()
2821 if (reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2832 if (ret && reiserfs_transaction_running(inode->i_sb)) { in __reiserfs_write_begin()
2852 reiserfs_write_lock(inode->i_sb); in __reiserfs_write_begin()
2854 reiserfs_write_unlock(inode->i_sb); in __reiserfs_write_begin()
2874 struct inode *inode = page->mapping->host; in reiserfs_write_end() local
2881 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_write_end()
2882 if (reiserfs_transaction_running(inode->i_sb)) in reiserfs_write_end()
2896 reiserfs_commit_page(inode, page, start, start + copied); in reiserfs_write_end()
2903 if (pos + copied > inode->i_size) { in reiserfs_write_end()
2905 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2912 if ((have_large_tails(inode->i_sb) in reiserfs_write_end()
2913 && inode->i_size > i_block_size(inode) * 4) in reiserfs_write_end()
2914 || (have_small_tails(inode->i_sb) in reiserfs_write_end()
2915 && inode->i_size > i_block_size(inode))) in reiserfs_write_end()
2916 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_write_end()
2918 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_write_end()
2922 reiserfs_update_inode_transaction(inode); in reiserfs_write_end()
2923 inode->i_size = pos + copied; in reiserfs_write_end()
2929 mark_inode_dirty(inode); in reiserfs_write_end()
2930 reiserfs_update_sd(&myth, inode); in reiserfs_write_end()
2938 reiserfs_write_lock(inode->i_sb); in reiserfs_write_end()
2942 mark_inode_dirty(inode); in reiserfs_write_end()
2950 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2954 if (pos + len > inode->i_size) in reiserfs_write_end()
2955 reiserfs_truncate_failed_write(inode); in reiserfs_write_end()
2960 reiserfs_write_unlock(inode->i_sb); in reiserfs_write_end()
2964 reiserfs_update_sd(th, inode); in reiserfs_write_end()
2973 struct inode *inode = page->mapping->host; in reiserfs_commit_write() local
2980 depth = reiserfs_write_unlock_nested(inode->i_sb); in reiserfs_commit_write()
2981 reiserfs_wait_on_write_block(inode->i_sb); in reiserfs_commit_write()
2982 reiserfs_write_lock_nested(inode->i_sb, depth); in reiserfs_commit_write()
2984 if (reiserfs_transaction_running(inode->i_sb)) { in reiserfs_commit_write()
2987 reiserfs_commit_page(inode, page, from, to); in reiserfs_commit_write()
2994 if (pos > inode->i_size) { in reiserfs_commit_write()
3001 if ((have_large_tails(inode->i_sb) in reiserfs_commit_write()
3002 && inode->i_size > i_block_size(inode) * 4) in reiserfs_commit_write()
3003 || (have_small_tails(inode->i_sb) in reiserfs_commit_write()
3004 && inode->i_size > i_block_size(inode))) in reiserfs_commit_write()
3005 REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask; in reiserfs_commit_write()
3007 ret = journal_begin(&myth, inode->i_sb, 1); in reiserfs_commit_write()
3011 reiserfs_update_inode_transaction(inode); in reiserfs_commit_write()
3012 inode->i_size = pos; in reiserfs_commit_write()
3018 mark_inode_dirty(inode); in reiserfs_commit_write()
3019 reiserfs_update_sd(&myth, inode); in reiserfs_commit_write()
3027 mark_inode_dirty(inode); in reiserfs_commit_write()
3039 reiserfs_update_sd(th, inode); in reiserfs_commit_write()
3046 void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) in sd_attrs_to_i_attrs() argument
3048 if (reiserfs_attrs(inode->i_sb)) { in sd_attrs_to_i_attrs()
3050 inode->i_flags |= S_SYNC; in sd_attrs_to_i_attrs()
3052 inode->i_flags &= ~S_SYNC; in sd_attrs_to_i_attrs()
3054 inode->i_flags |= S_IMMUTABLE; in sd_attrs_to_i_attrs()
3056 inode->i_flags &= ~S_IMMUTABLE; in sd_attrs_to_i_attrs()
3058 inode->i_flags |= S_APPEND; in sd_attrs_to_i_attrs()
3060 inode->i_flags &= ~S_APPEND; in sd_attrs_to_i_attrs()
3062 inode->i_flags |= S_NOATIME; in sd_attrs_to_i_attrs()
3064 inode->i_flags &= ~S_NOATIME; in sd_attrs_to_i_attrs()
3066 REISERFS_I(inode)->i_flags |= i_nopack_mask; in sd_attrs_to_i_attrs()
3068 REISERFS_I(inode)->i_flags &= ~i_nopack_mask; in sd_attrs_to_i_attrs()
3076 static int invalidate_folio_can_drop(struct inode *inode, struct buffer_head *bh) in invalidate_folio_can_drop() argument
3079 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in invalidate_folio_can_drop()
3090 if (reiserfs_file_data_log(inode)) { in invalidate_folio_can_drop()
3117 && jl != SB_JOURNAL(inode->i_sb)->j_current_jl) in invalidate_folio_can_drop()
3134 struct inode *inode = folio->mapping->host; in reiserfs_invalidate_folio() local
3161 if (invalidate_folio_can_drop(inode, bh)) in reiserfs_invalidate_folio()
3204 struct inode *inode = folio->mapping->host; in reiserfs_release_folio() local
3205 struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb); in reiserfs_release_folio()
3238 struct inode *inode = file->f_mapping->host; in reiserfs_direct_IO() local
3242 ret = blockdev_direct_IO(iocb, inode, iter, in reiserfs_direct_IO()
3250 loff_t isize = i_size_read(inode); in reiserfs_direct_IO()
3253 if ((end > isize) && inode_newsize_ok(inode, isize) == 0) { in reiserfs_direct_IO()
3254 truncate_setsize(inode, isize); in reiserfs_direct_IO()
3255 reiserfs_vfs_truncate_file(inode); in reiserfs_direct_IO()
3265 struct inode *inode = d_inode(dentry); in reiserfs_setattr() local
3276 if (is_quota_modification(&nop_mnt_idmap, inode, attr)) { in reiserfs_setattr()
3277 error = dquot_initialize(inode); in reiserfs_setattr()
3281 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3287 if (get_inode_item_key_version(inode) == KEY_FORMAT_3_5 && in reiserfs_setattr()
3289 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3294 inode_dio_wait(inode); in reiserfs_setattr()
3297 if (attr->ia_size > inode->i_size) { in reiserfs_setattr()
3300 if ((pos & (inode->i_sb->s_blocksize - 1)) == 0) in reiserfs_setattr()
3302 error = generic_cont_expand_simple(inode, pos); in reiserfs_setattr()
3303 if (REISERFS_I(inode)->i_prealloc_count > 0) { in reiserfs_setattr()
3307 err = journal_begin(&th, inode->i_sb, 4); in reiserfs_setattr()
3309 reiserfs_discard_prealloc(&th, inode); in reiserfs_setattr()
3316 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3326 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3330 (get_inode_sd_version(inode) == STAT_DATA_V1)) { in reiserfs_setattr()
3336 if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || in reiserfs_setattr()
3337 (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { in reiserfs_setattr()
3341 (REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb) + in reiserfs_setattr()
3342 REISERFS_QUOTA_DEL_BLOCKS(inode->i_sb)) + in reiserfs_setattr()
3345 error = reiserfs_chown_xattrs(inode, attr); in reiserfs_setattr()
3354 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3355 error = journal_begin(&th, inode->i_sb, jbegin_count); in reiserfs_setattr()
3356 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3359 error = dquot_transfer(&nop_mnt_idmap, inode, attr); in reiserfs_setattr()
3360 reiserfs_write_lock(inode->i_sb); in reiserfs_setattr()
3363 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3372 inode->i_uid = attr->ia_uid; in reiserfs_setattr()
3374 inode->i_gid = attr->ia_gid; in reiserfs_setattr()
3375 mark_inode_dirty(inode); in reiserfs_setattr()
3377 reiserfs_write_unlock(inode->i_sb); in reiserfs_setattr()
3383 attr->ia_size != i_size_read(inode)) { in reiserfs_setattr()
3384 error = inode_newsize_ok(inode, attr->ia_size); in reiserfs_setattr()
3390 mutex_lock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3391 truncate_setsize(inode, attr->ia_size); in reiserfs_setattr()
3392 reiserfs_truncate_file(inode, 1); in reiserfs_setattr()
3393 mutex_unlock(&REISERFS_I(inode)->tailpack); in reiserfs_setattr()
3398 setattr_copy(&nop_mnt_idmap, inode, attr); in reiserfs_setattr()
3399 mark_inode_dirty(inode); in reiserfs_setattr()
3402 if (!error && reiserfs_posixacl(inode->i_sb)) { in reiserfs_setattr()