summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAhmad Fatoum <ahmad@a3f.at>2019-08-22 08:51:02 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-08-23 09:37:59 +0200
commit47537564bf1d8a519ba5b5e729b2aa40a2f64942 (patch)
tree694f520449a0ba74a36911fbecbaf6714e9fa43c /fs
parentfe201c695af55df51ee414f89e29558abab97437 (diff)
downloadbarebox-47537564bf1d8a519ba5b5e729b2aa40a2f64942.tar.gz
fs: tftp: don't maintain tftp dentries in dcache
Currently a negative dentry is cached whenever a non-existing file was looked up over TFTP. Short of a barebox reset, there is no way to invalidate that dentry, so barebox retries the look up. Fix this by always reporting TFTP dentries as invalid in the d_revalidate callback. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/tftp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/tftp.c b/fs/tftp.c
index 54dcba2..1f36c56 100644
--- a/fs/tftp.c
+++ b/fs/tftp.c
@@ -715,6 +715,7 @@ static int tftp_probe(struct device_d *dev)
}
sb->s_op = &tftp_ops;
+ sb->s_d_op = &no_revalidate_d_ops;
inode = tftp_get_inode(sb, NULL, S_IFDIR);
sb->s_root = d_make_root(inode);