mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 15:39:42 -04:00
filesystems: add set_nlink()
Replace remaining direct i_nlink updates with a new set_nlink() updater function. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Tested-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
committed by
Christoph Hellwig
parent
6d6b77f163
commit
bfe8684869
@@ -2248,7 +2248,7 @@ static struct dentry *proc_pident_instantiate(struct inode *dir,
|
||||
ei = PROC_I(inode);
|
||||
inode->i_mode = p->mode;
|
||||
if (S_ISDIR(inode->i_mode))
|
||||
inode->i_nlink = 2; /* Use getattr to fix if necessary */
|
||||
set_nlink(inode, 2); /* Use getattr to fix if necessary */
|
||||
if (p->iop)
|
||||
inode->i_op = p->iop;
|
||||
if (p->fop)
|
||||
@@ -2642,7 +2642,7 @@ static struct dentry *proc_base_instantiate(struct inode *dir,
|
||||
|
||||
inode->i_mode = p->mode;
|
||||
if (S_ISDIR(inode->i_mode))
|
||||
inode->i_nlink = 2;
|
||||
set_nlink(inode, 2);
|
||||
if (S_ISLNK(inode->i_mode))
|
||||
inode->i_size = 64;
|
||||
if (p->iop)
|
||||
@@ -2981,8 +2981,8 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
|
||||
inode->i_fop = &proc_tgid_base_operations;
|
||||
inode->i_flags|=S_IMMUTABLE;
|
||||
|
||||
inode->i_nlink = 2 + pid_entry_count_dirs(tgid_base_stuff,
|
||||
ARRAY_SIZE(tgid_base_stuff));
|
||||
set_nlink(inode, 2 + pid_entry_count_dirs(tgid_base_stuff,
|
||||
ARRAY_SIZE(tgid_base_stuff)));
|
||||
|
||||
d_set_d_op(dentry, &pid_dentry_operations);
|
||||
|
||||
@@ -3233,8 +3233,8 @@ static struct dentry *proc_task_instantiate(struct inode *dir,
|
||||
inode->i_fop = &proc_tid_base_operations;
|
||||
inode->i_flags|=S_IMMUTABLE;
|
||||
|
||||
inode->i_nlink = 2 + pid_entry_count_dirs(tid_base_stuff,
|
||||
ARRAY_SIZE(tid_base_stuff));
|
||||
set_nlink(inode, 2 + pid_entry_count_dirs(tid_base_stuff,
|
||||
ARRAY_SIZE(tid_base_stuff)));
|
||||
|
||||
d_set_d_op(dentry, &pid_dentry_operations);
|
||||
|
||||
|
||||
@@ -283,7 +283,7 @@ static int proc_getattr(struct vfsmount *mnt, struct dentry *dentry,
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct proc_dir_entry *de = PROC_I(inode)->pde;
|
||||
if (de && de->nlink)
|
||||
inode->i_nlink = de->nlink;
|
||||
set_nlink(inode, de->nlink);
|
||||
|
||||
generic_fillattr(inode, stat);
|
||||
return 0;
|
||||
|
||||
@@ -445,7 +445,7 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
|
||||
if (de->size)
|
||||
inode->i_size = de->size;
|
||||
if (de->nlink)
|
||||
inode->i_nlink = de->nlink;
|
||||
set_nlink(inode, de->nlink);
|
||||
if (de->proc_iops)
|
||||
inode->i_op = de->proc_iops;
|
||||
if (de->proc_fops) {
|
||||
|
||||
Reference in New Issue
Block a user