* Checks to see if there's a whiteout in @lower_dentry's parent directory,
* whose name is taken from @dentry. Then tries to remove that whiteout, if
* found. If <dentry,bindex> is a branch marked readonly, return -EROFS.
- * If it finds both a regular file and a whiteout, return -EIO (this should
- * never happen).
+ * If it finds both a regular file and a whiteout, delete whiteout (this
+ * should never happen).
*
* Return 0 if no whiteout was found. Return 1 if one was found and
* successfully removed. Therefore a value >= 0 tells the caller that
}
/* check if regular file and whiteout were both found */
- if (unlikely(lower_dentry->d_inode)) {
- err = -EIO;
- printk(KERN_ERR "unionfs: found both whiteout and regular "
- "file in directory %s (branch %d)\n",
+ if (unlikely(lower_dentry->d_inode))
+ printk(KERN_WARNING "unionfs: removing whiteout; regular "
+ "file exists in directory %s (branch %d)\n",
lower_dir_dentry->d_name.name, bindex);
- goto out_dput;
- }
/* check if branch is writeable */
err = is_robranch_super(dentry->d_sb, bindex);