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

[PATCH] ext2: switch to inode_inc_count, inode_dec_count

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Alexey Dobriyan and committed by
Linus Torvalds
a513b035 4e907c3d

+19 -35
+19 -35
fs/ext2/namei.c
··· 36 36 #include "acl.h" 37 37 #include "xip.h" 38 38 39 - /* 40 - * Couple of helper functions - make the code slightly cleaner. 41 - */ 42 - 43 - static inline void ext2_inc_count(struct inode *inode) 44 - { 45 - inode->i_nlink++; 46 - mark_inode_dirty(inode); 47 - } 48 - 49 - static inline void ext2_dec_count(struct inode *inode) 50 - { 51 - inode->i_nlink--; 52 - mark_inode_dirty(inode); 53 - } 54 - 55 39 static inline int ext2_add_nondir(struct dentry *dentry, struct inode *inode) 56 40 { 57 41 int err = ext2_add_link(dentry, inode); ··· 43 59 d_instantiate(dentry, inode); 44 60 return 0; 45 61 } 46 - ext2_dec_count(inode); 62 + inode_dec_link_count(inode); 47 63 iput(inode); 48 64 return err; 49 65 } ··· 185 201 return err; 186 202 187 203 out_fail: 188 - ext2_dec_count(inode); 204 + inode_dec_link_count(inode); 189 205 iput (inode); 190 206 goto out; 191 207 } ··· 199 215 return -EMLINK; 200 216 201 217 inode->i_ctime = CURRENT_TIME_SEC; 202 - ext2_inc_count(inode); 218 + inode_inc_link_count(inode); 203 219 atomic_inc(&inode->i_count); 204 220 205 221 return ext2_add_nondir(dentry, inode); ··· 213 229 if (dir->i_nlink >= EXT2_LINK_MAX) 214 230 goto out; 215 231 216 - ext2_inc_count(dir); 232 + inode_inc_link_count(dir); 217 233 218 234 inode = ext2_new_inode (dir, S_IFDIR | mode); 219 235 err = PTR_ERR(inode); ··· 227 243 else 228 244 inode->i_mapping->a_ops = &ext2_aops; 229 245 230 - ext2_inc_count(inode); 246 + inode_inc_link_count(inode); 231 247 232 248 err = ext2_make_empty(inode, dir); 233 249 if (err) ··· 242 258 return err; 243 259 244 260 out_fail: 245 - ext2_dec_count(inode); 246 - ext2_dec_count(inode); 261 + inode_dec_link_count(inode); 262 + inode_dec_link_count(inode); 247 263 iput(inode); 248 264 out_dir: 249 - ext2_dec_count(dir); 265 + inode_dec_link_count(dir); 250 266 goto out; 251 267 } 252 268 ··· 266 282 goto out; 267 283 268 284 inode->i_ctime = dir->i_ctime; 269 - ext2_dec_count(inode); 285 + inode_dec_link_count(inode); 270 286 err = 0; 271 287 out: 272 288 return err; ··· 281 297 err = ext2_unlink(dir, dentry); 282 298 if (!err) { 283 299 inode->i_size = 0; 284 - ext2_dec_count(inode); 285 - ext2_dec_count(dir); 300 + inode_dec_link_count(inode); 301 + inode_dec_link_count(dir); 286 302 } 287 303 } 288 304 return err; ··· 322 338 new_de = ext2_find_entry (new_dir, new_dentry, &new_page); 323 339 if (!new_de) 324 340 goto out_dir; 325 - ext2_inc_count(old_inode); 341 + inode_inc_link_count(old_inode); 326 342 ext2_set_link(new_dir, new_de, new_page, old_inode); 327 343 new_inode->i_ctime = CURRENT_TIME_SEC; 328 344 if (dir_de) 329 345 new_inode->i_nlink--; 330 - ext2_dec_count(new_inode); 346 + inode_dec_link_count(new_inode); 331 347 } else { 332 348 if (dir_de) { 333 349 err = -EMLINK; 334 350 if (new_dir->i_nlink >= EXT2_LINK_MAX) 335 351 goto out_dir; 336 352 } 337 - ext2_inc_count(old_inode); 353 + inode_inc_link_count(old_inode); 338 354 err = ext2_add_link(new_dentry, old_inode); 339 355 if (err) { 340 - ext2_dec_count(old_inode); 356 + inode_dec_link_count(old_inode); 341 357 goto out_dir; 342 358 } 343 359 if (dir_de) 344 - ext2_inc_count(new_dir); 360 + inode_inc_link_count(new_dir); 345 361 } 346 362 347 363 /* 348 364 * Like most other Unix systems, set the ctime for inodes on a 349 365 * rename. 350 - * ext2_dec_count() will mark the inode dirty. 366 + * inode_dec_link_count() will mark the inode dirty. 351 367 */ 352 368 old_inode->i_ctime = CURRENT_TIME_SEC; 353 369 354 370 ext2_delete_entry (old_de, old_page); 355 - ext2_dec_count(old_inode); 371 + inode_dec_link_count(old_inode); 356 372 357 373 if (dir_de) { 358 374 ext2_set_link(old_inode, dir_de, dir_page, new_dir); 359 - ext2_dec_count(old_dir); 375 + inode_dec_link_count(old_dir); 360 376 } 361 377 return 0; 362 378