Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs/adfs: mostly divorse inode number from indirect disc address

Avoid using the inode number as the indirect disc address, even though
these currently have the same value.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

authored by

Russell King and committed by
Al Viro
25e5d4df 08ead1b8

+7 -4
+1
fs/adfs/adfs.h
··· 32 32 struct adfs_inode_info { 33 33 loff_t mmu_private; 34 34 __u32 parent_id; /* parent indirect disc address */ 35 + __u32 indaddr; /* object indirect disc address */ 35 36 __u32 loadaddr; /* RISC OS load address */ 36 37 __u32 execaddr; /* RISC OS exec address */ 37 38 unsigned int attr; /* RISC OS permissions */
+2 -2
fs/adfs/dir.c
··· 158 158 { 159 159 int ret; 160 160 161 - ret = adfs_dir_read(sb, inode->i_ino, inode->i_size, dir); 161 + ret = adfs_dir_read(sb, ADFS_I(inode)->indaddr, inode->i_size, dir); 162 162 if (ret) 163 163 return ret; 164 164 ··· 372 372 break; 373 373 } 374 374 } 375 - obj->parent_id = inode->i_ino; 375 + obj->parent_id = ADFS_I(inode)->indaddr; 376 376 377 377 unlock_relse: 378 378 up_read(&adfs_dir_rwsem);
+4 -2
fs/adfs/inode.c
··· 20 20 if (block >= inode->i_blocks) 21 21 goto abort_toobig; 22 22 23 - block = __adfs_block_map(inode->i_sb, inode->i_ino, block); 23 + block = __adfs_block_map(inode->i_sb, ADFS_I(inode)->indaddr, 24 + block); 24 25 if (block) 25 26 map_bh(bh, inode->i_sb, block); 26 27 return 0; ··· 260 259 * for cross-directory renames. 261 260 */ 262 261 ADFS_I(inode)->parent_id = obj->parent_id; 262 + ADFS_I(inode)->indaddr = obj->indaddr; 263 263 ADFS_I(inode)->loadaddr = obj->loadaddr; 264 264 ADFS_I(inode)->execaddr = obj->execaddr; 265 265 ADFS_I(inode)->attr = obj->attr; ··· 355 353 struct object_info obj; 356 354 int ret; 357 355 358 - obj.indaddr = inode->i_ino; 356 + obj.indaddr = ADFS_I(inode)->indaddr; 359 357 obj.name_len = 0; 360 358 obj.parent_id = ADFS_I(inode)->parent_id; 361 359 obj.loadaddr = ADFS_I(inode)->loadaddr;