catalog.c (3eb66e91a25497065c5322b1268cbc3953642227) catalog.c (101fa821ab7d1a1ae353da41f8a2455409e35e2d)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/hfsplus/catalog.c
4 *
5 * Copyright (C) 2001
6 * Brad Boyer (flar@allandria.com)
7 * (C) 2003 Ardis Technologies <roman@ardistech.com>
8 *

--- 298 unchanged lines hidden (view full) ---

307 }
308 err = hfs_brec_insert(&fd, &entry, entry_size);
309 if (err)
310 goto err1;
311
312 dir->i_size++;
313 if (S_ISDIR(inode->i_mode))
314 hfsplus_subfolders_inc(dir);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/hfsplus/catalog.c
4 *
5 * Copyright (C) 2001
6 * Brad Boyer (flar@allandria.com)
7 * (C) 2003 Ardis Technologies <roman@ardistech.com>
8 *

--- 298 unchanged lines hidden (view full) ---

307 }
308 err = hfs_brec_insert(&fd, &entry, entry_size);
309 if (err)
310 goto err1;
311
312 dir->i_size++;
313 if (S_ISDIR(inode->i_mode))
314 hfsplus_subfolders_inc(dir);
315 dir->i_mtime = dir->i_ctime = current_time(dir);
315 dir->i_mtime = inode_set_ctime_current(dir);
316 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
317
318 hfs_find_exit(&fd);
319 return 0;
320
321err1:
322 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid);
323 if (!hfs_brec_find(&fd, hfs_find_rec_by_key))

--- 88 unchanged lines hidden (view full) ---

412
413 err = hfs_brec_remove(&fd);
414 if (err)
415 goto out;
416
417 dir->i_size--;
418 if (type == HFSPLUS_FOLDER)
419 hfsplus_subfolders_dec(dir);
316 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
317
318 hfs_find_exit(&fd);
319 return 0;
320
321err1:
322 hfsplus_cat_build_key_with_cnid(sb, fd.search_key, cnid);
323 if (!hfs_brec_find(&fd, hfs_find_rec_by_key))

--- 88 unchanged lines hidden (view full) ---

412
413 err = hfs_brec_remove(&fd);
414 if (err)
415 goto out;
416
417 dir->i_size--;
418 if (type == HFSPLUS_FOLDER)
419 hfsplus_subfolders_dec(dir);
420 dir->i_mtime = dir->i_ctime = current_time(dir);
420 dir->i_mtime = inode_set_ctime_current(dir);
421 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
422
423 if (type == HFSPLUS_FILE || type == HFSPLUS_FOLDER) {
424 if (HFSPLUS_SB(sb)->attr_tree)
425 hfsplus_delete_all_attrs(dir, cnid);
426 }
427
428out:

--- 60 unchanged lines hidden (view full) ---

489 }
490
491 err = hfs_brec_insert(&dst_fd, &entry, src_fd.entrylength);
492 if (err)
493 goto out;
494 dst_dir->i_size++;
495 if (type == HFSPLUS_FOLDER)
496 hfsplus_subfolders_inc(dst_dir);
421 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY);
422
423 if (type == HFSPLUS_FILE || type == HFSPLUS_FOLDER) {
424 if (HFSPLUS_SB(sb)->attr_tree)
425 hfsplus_delete_all_attrs(dir, cnid);
426 }
427
428out:

--- 60 unchanged lines hidden (view full) ---

489 }
490
491 err = hfs_brec_insert(&dst_fd, &entry, src_fd.entrylength);
492 if (err)
493 goto out;
494 dst_dir->i_size++;
495 if (type == HFSPLUS_FOLDER)
496 hfsplus_subfolders_inc(dst_dir);
497 dst_dir->i_mtime = dst_dir->i_ctime = current_time(dst_dir);
497 dst_dir->i_mtime = inode_set_ctime_current(dst_dir);
498
499 /* finally remove the old entry */
500 err = hfsplus_cat_build_key(sb, src_fd.search_key,
501 src_dir->i_ino, src_name);
502 if (unlikely(err))
503 goto out;
504
505 err = hfs_brec_find(&src_fd, hfs_find_rec_by_key);
506 if (err)
507 goto out;
508 err = hfs_brec_remove(&src_fd);
509 if (err)
510 goto out;
511 src_dir->i_size--;
512 if (type == HFSPLUS_FOLDER)
513 hfsplus_subfolders_dec(src_dir);
498
499 /* finally remove the old entry */
500 err = hfsplus_cat_build_key(sb, src_fd.search_key,
501 src_dir->i_ino, src_name);
502 if (unlikely(err))
503 goto out;
504
505 err = hfs_brec_find(&src_fd, hfs_find_rec_by_key);
506 if (err)
507 goto out;
508 err = hfs_brec_remove(&src_fd);
509 if (err)
510 goto out;
511 src_dir->i_size--;
512 if (type == HFSPLUS_FOLDER)
513 hfsplus_subfolders_dec(src_dir);
514 src_dir->i_mtime = src_dir->i_ctime = current_time(src_dir);
514 src_dir->i_mtime = inode_set_ctime_current(src_dir);
515
516 /* remove old thread entry */
517 hfsplus_cat_build_key_with_cnid(sb, src_fd.search_key, cnid);
518 err = hfs_brec_find(&src_fd, hfs_find_rec_by_key);
519 if (err)
520 goto out;
521 type = hfs_bnode_read_u16(src_fd.bnode, src_fd.entryoffset);
522 err = hfs_brec_remove(&src_fd);

--- 27 unchanged lines hidden ---
515
516 /* remove old thread entry */
517 hfsplus_cat_build_key_with_cnid(sb, src_fd.search_key, cnid);
518 err = hfs_brec_find(&src_fd, hfs_find_rec_by_key);
519 if (err)
520 goto out;
521 type = hfs_bnode_read_u16(src_fd.bnode, src_fd.entryoffset);
522 err = hfs_brec_remove(&src_fd);

--- 27 unchanged lines hidden ---