Commit c8592fcc authored by Boaz Harrosh's avatar Boaz Harrosh

exofs: Allow corrupted directory entry to be empty file

If there was an error in fetching an object or extracting
inode info from attributes. Which means corrupted storage.
Let it be an empty ZERO dated directory entry so it can be
deleted. Otherwise the all directory will be inaccessible.

This does not loose data, because if there is an orphan object
somewhere it will be recovered by fschk. But usually this only
means corrupted dir entry. The object was never generated and
only its link exist. This way we can delete the bad entry.
Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
parent d83c7eb6
...@@ -1102,8 +1102,7 @@ static int exofs_get_inode(struct super_block *sb, struct exofs_i_info *oi, ...@@ -1102,8 +1102,7 @@ static int exofs_get_inode(struct super_block *sb, struct exofs_i_info *oi,
/* If object is lost on target we might as well enable it's /* If object is lost on target we might as well enable it's
* delete. * delete.
*/ */
if ((ret == -ENOENT) || (ret == -EINVAL)) ret = 0;
ret = 0;
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment