So far we only ever freed dentries when the filesystem they are on is unmounted. With this patch we actually trust reference counting and free the dentries once the reference count hits zero. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- fs/fs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/fs.c b/fs/fs.c index 5784e9c1f3..824c4e2806 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -1129,6 +1129,9 @@ void dput(struct dentry *dentry) return; dentry->d_count--; + + if (!dentry->d_count) + dentry_kill(dentry); } struct dentry *dget(struct dentry *dentry) @@ -2837,7 +2840,6 @@ int mount(const char *device, const char *fsname, const char *pathname, fsdev->vfsmount.mountpoint->d_flags |= DCACHE_MOUNTED; } else { d_root = fsdev->sb.s_root; - path.dentry = d_root; mnt_root = &fsdev->vfsmount; fsdev->vfsmount.mountpoint = d_root; fsdev->vfsmount.parent = &fsdev->vfsmount; -- 2.28.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox