예제 #1
0
int unionfs_unlink(struct inode *dir, struct dentry *dentry)
{
	int err = 0;

	unionfs_lock_dentry(dentry);

	err = unionfs_unlink_whiteout(dir, dentry);
	/* call d_drop so the system "forgets" about us */
	if (!err)
		d_drop(dentry);

	unionfs_unlock_dentry(dentry);
	return err;
}
예제 #2
0
int unionfs_unlink(struct inode *dir, struct dentry *dentry)
{
	int err = 0;

	print_entry_location();
	lock_dentry(dentry);
	fist_print_dentry("IN unionfs_unlink", dentry);

	if (IS_SET(dir->i_sb, DELETE_WHITEOUT))
		err = unionfs_unlink_whiteout(dir, dentry);
	else
		err = unionfs_unlink_all(dir, dentry);

	/* call d_drop so the system "forgets" about us */
	if (!err)
		d_drop(dentry);

	unlock_dentry(dentry);
	print_exit_status(err);
	return err;
}