amigaffs.c (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) amigaffs.c (f873e9d6db14e47dcb026e5b0314a6fe4faa4ed8)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/affs/amigaffs.c
4 *
5 * (c) 1996 Hans-Joachim Widmaier - Rewritten
6 *
7 * (C) 1993 Ray Burr - Amiga FFS filesystem.
8 *

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

55 AFFS_HEAD(dir_bh)->table[offset] = cpu_to_be32(ino);
56 else
57 AFFS_TAIL(sb, dir_bh)->hash_chain = cpu_to_be32(ino);
58
59 affs_adjust_checksum(dir_bh, ino);
60 mark_buffer_dirty_inode(dir_bh, dir);
61 affs_brelse(dir_bh);
62
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/affs/amigaffs.c
4 *
5 * (c) 1996 Hans-Joachim Widmaier - Rewritten
6 *
7 * (C) 1993 Ray Burr - Amiga FFS filesystem.
8 *

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

55 AFFS_HEAD(dir_bh)->table[offset] = cpu_to_be32(ino);
56 else
57 AFFS_TAIL(sb, dir_bh)->hash_chain = cpu_to_be32(ino);
58
59 affs_adjust_checksum(dir_bh, ino);
60 mark_buffer_dirty_inode(dir_bh, dir);
61 affs_brelse(dir_bh);
62
63 dir->i_mtime = dir->i_ctime = current_time(dir);
63 dir->i_mtime = inode_set_ctime_current(dir);
64 inode_inc_iversion(dir);
65 mark_inode_dirty(dir);
66
67 return 0;
68}
69
70/* Remove a header block from its directory.
71 * caller must hold AFFS_DIR->i_hash_lock!

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

109 bh = affs_bread(sb, hash_ino);
110 if (!bh)
111 return -EIO;
112 hash_ino = be32_to_cpu(AFFS_TAIL(sb, bh)->hash_chain);
113 }
114
115 affs_brelse(bh);
116
64 inode_inc_iversion(dir);
65 mark_inode_dirty(dir);
66
67 return 0;
68}
69
70/* Remove a header block from its directory.
71 * caller must hold AFFS_DIR->i_hash_lock!

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

109 bh = affs_bread(sb, hash_ino);
110 if (!bh)
111 return -EIO;
112 hash_ino = be32_to_cpu(AFFS_TAIL(sb, bh)->hash_chain);
113 }
114
115 affs_brelse(bh);
116
117 dir->i_mtime = dir->i_ctime = current_time(dir);
117 dir->i_mtime = inode_set_ctime_current(dir);
118 inode_inc_iversion(dir);
119 mark_inode_dirty(dir);
120
121 return retval;
122}
123
124static void
125affs_fix_dcache(struct inode *inode, u32 entry_ino)

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

310
311 affs_unlock_dir(dir);
312
313 if (inode->i_nlink > 1)
314 retval = affs_remove_link(dentry);
315 else
316 clear_nlink(inode);
317 affs_unlock_link(inode);
118 inode_inc_iversion(dir);
119 mark_inode_dirty(dir);
120
121 return retval;
122}
123
124static void
125affs_fix_dcache(struct inode *inode, u32 entry_ino)

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

310
311 affs_unlock_dir(dir);
312
313 if (inode->i_nlink > 1)
314 retval = affs_remove_link(dentry);
315 else
316 clear_nlink(inode);
317 affs_unlock_link(inode);
318 inode->i_ctime = current_time(inode);
318 inode_set_ctime_current(inode);
319 mark_inode_dirty(inode);
320
321done:
322 affs_brelse(bh);
323 return retval;
324
325done_unlock:
326 affs_unlock_dir(dir);

--- 217 unchanged lines hidden ---
319 mark_inode_dirty(inode);
320
321done:
322 affs_brelse(bh);
323 return retval;
324
325done_unlock:
326 affs_unlock_dir(dir);

--- 217 unchanged lines hidden ---