diff options
Diffstat (limited to 'fs/minix/namei.c')
| -rw-r--r-- | fs/minix/namei.c | 48 | 
1 files changed, 18 insertions, 30 deletions
| diff --git a/fs/minix/namei.c b/fs/minix/namei.c index b25bca5bdb5..5b6a4540a05 100644 --- a/fs/minix/namei.c +++ b/fs/minix/namei.c @@ -6,18 +6,6 @@  #include "minix.h" -static inline void inc_count(struct inode *inode) -{ -	inode->i_nlink++; -	mark_inode_dirty(inode); -} - -static inline void dec_count(struct inode *inode) -{ -	inode->i_nlink--; -	mark_inode_dirty(inode); -} -  static int add_nondir(struct dentry *dentry, struct inode *inode)  {  	int err = minix_add_link(dentry, inode); @@ -25,7 +13,7 @@ static int add_nondir(struct dentry *dentry, struct inode *inode)  		d_instantiate(dentry, inode);  		return 0;  	} -	dec_count(inode); +	inode_dec_link_count(inode);  	iput(inode);  	return err;  } @@ -125,7 +113,7 @@ out:  	return err;  out_fail: -	dec_count(inode); +	inode_dec_link_count(inode);  	iput(inode);  	goto out;  } @@ -139,7 +127,7 @@ static int minix_link(struct dentry * old_dentry, struct inode * dir,  		return -EMLINK;  	inode->i_ctime = CURRENT_TIME_SEC; -	inc_count(inode); +	inode_inc_link_count(inode);  	atomic_inc(&inode->i_count);  	return add_nondir(dentry, inode);  } @@ -152,7 +140,7 @@ static int minix_mkdir(struct inode * dir, struct dentry *dentry, int mode)  	if (dir->i_nlink >= minix_sb(dir->i_sb)->s_link_max)  		goto out; -	inc_count(dir); +	inode_inc_link_count(dir);  	inode = minix_new_inode(dir, &err);  	if (!inode) @@ -163,7 +151,7 @@ static int minix_mkdir(struct inode * dir, struct dentry *dentry, int mode)  		inode->i_mode |= S_ISGID;  	minix_set_inode(inode, 0); -	inc_count(inode); +	inode_inc_link_count(inode);  	err = minix_make_empty(inode, dir);  	if (err) @@ -178,11 +166,11 @@ out:  	return err;  out_fail: -	dec_count(inode); -	dec_count(inode); +	inode_dec_link_count(inode); +	inode_dec_link_count(inode);  	iput(inode);  out_dir: -	dec_count(dir); +	inode_dec_link_count(dir);  	goto out;  } @@ -202,7 +190,7 @@ static int minix_unlink(struct inode * dir, struct dentry *dentry)  		goto end_unlink;  	inode->i_ctime = dir->i_ctime; -	dec_count(inode); +	inode_dec_link_count(inode);  end_unlink:  	return err;  } @@ -215,8 +203,8 @@ static int minix_rmdir(struct inode * dir, struct dentry *dentry)  	if (minix_empty_dir(inode)) {  		err = minix_unlink(dir, dentry);  		if (!err) { -			dec_count(dir); -			dec_count(inode); +			inode_dec_link_count(dir); +			inode_dec_link_count(inode);  		}  	}  	return err; @@ -257,34 +245,34 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry,  		new_de = minix_find_entry(new_dentry, &new_page);  		if (!new_de)  			goto out_dir; -		inc_count(old_inode); +		inode_inc_link_count(old_inode);  		minix_set_link(new_de, new_page, old_inode);  		new_inode->i_ctime = CURRENT_TIME_SEC;  		if (dir_de)  			new_inode->i_nlink--; -		dec_count(new_inode); +		inode_dec_link_count(new_inode);  	} else {  		if (dir_de) {  			err = -EMLINK;  			if (new_dir->i_nlink >= info->s_link_max)  				goto out_dir;  		} -		inc_count(old_inode); +		inode_inc_link_count(old_inode);  		err = minix_add_link(new_dentry, old_inode);  		if (err) { -			dec_count(old_inode); +			inode_dec_link_count(old_inode);  			goto out_dir;  		}  		if (dir_de) -			inc_count(new_dir); +			inode_inc_link_count(new_dir);  	}  	minix_delete_entry(old_de, old_page); -	dec_count(old_inode); +	inode_dec_link_count(old_inode);  	if (dir_de) {  		minix_set_link(dir_de, dir_page, new_dir); -		dec_count(old_dir); +		inode_dec_link_count(old_dir);  	}  	return 0; | 
