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

Configure Feed

Select the types of activity you want to include in your feed.

convert simple_{link,unlink,rmdir,rename,fill_super}() to new primitives

Note that simple_unlink() et.al. are used by many filesystems; for now
they can not assume that persistency mark will have been set back
when the object got created. Once all conversions are done we'll
have them complain if called for something that had not been marked
persistent.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro e49ce258 bacdf1d7

+5 -5
+5 -5
fs/libfs.c
··· 630 630 if (callback) 631 631 callback(victim); 632 632 fsnotify_delete(inode, d_inode(victim), victim); 633 - dput(victim); // unpin it 633 + d_make_discardable(victim); 634 634 } 635 635 if (victim == dentry) { 636 636 inode_set_mtime_to_ts(inode, ··· 764 764 inode_set_ctime_to_ts(dir, inode_set_ctime_current(inode))); 765 765 inc_nlink(inode); 766 766 ihold(inode); 767 - dget(dentry); 768 - d_instantiate(dentry, inode); 767 + d_make_persistent(dentry, inode); 769 768 return 0; 770 769 } 771 770 EXPORT_SYMBOL(simple_link); ··· 797 798 inode_set_mtime_to_ts(dir, 798 799 inode_set_ctime_to_ts(dir, inode_set_ctime_current(inode))); 799 800 drop_nlink(inode); 800 - dput(dentry); 801 + d_make_discardable(dentry); 801 802 return 0; 802 803 } 803 804 EXPORT_SYMBOL(simple_unlink); ··· 1077 1078 simple_inode_init_ts(inode); 1078 1079 inode->i_fop = files->ops; 1079 1080 inode->i_ino = i; 1080 - d_add(dentry, inode); 1081 + d_make_persistent(dentry, inode); 1082 + dput(dentry); 1081 1083 } 1082 1084 return 0; 1083 1085 }