diff options
author | Kevin Locke <kevin@kevinlocke.name> | 2020-08-23 16:38:17 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2020-11-12 11:31:55 +0100 |
commit | 0a8d0b64dd6acfbc9e9b79022654bbe1ade4a29a (patch) | |
tree | 42ca3e4a9addbcde5b5ba761ef61d2efeca78acf | |
parent | ovl: doc clarification (diff) | |
download | linux-0a8d0b64dd6acfbc9e9b79022654bbe1ade4a29a.tar.xz linux-0a8d0b64dd6acfbc9e9b79022654bbe1ade4a29a.zip |
ovl: warn about orphan metacopy
When the lower file of a metacopy is inaccessible, -EIO is returned. For
users not familiar with overlayfs internals, such as myself, the meaning of
this error may not be apparent or easy to determine, since the (metacopy)
file is present and open/stat succeed when accessed outside of the overlay.
Add a rate-limited warning for orphan metacopy to give users a hint when
investigating such errors.
Link: https://lore.kernel.org/linux-unionfs/CAOQ4uxi23Zsmfb4rCed1n=On0NNA5KZD74jjjeyz+et32sk-gg@mail.gmail.com/
Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
-rw-r--r-- | fs/overlayfs/namei.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c index f731eb4d35f9..509dac77af61 100644 --- a/fs/overlayfs/namei.c +++ b/fs/overlayfs/namei.c @@ -1006,6 +1006,8 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, * Just make sure a corresponding data dentry has been found. */ if (d.metacopy || (uppermetacopy && !ctr)) { + pr_warn_ratelimited("metacopy with no lower data found - abort lookup (%pd2)\n", + dentry); err = -EIO; goto out_put; } else if (!d.is_dir && upperdentry && !ctr && origin_path) { |