[PATCH 0/2] Handle a soft hang and the inconsistent name issue

From: Shreeya Patel
Date: Wed Sep 29 2021 - 06:54:26 EST


When d_add_ci is called from the fs layer, we face a soft hang which is
caused by the deadlock in d_alloc_parallel. First patch in the series
tries to resolve it by doing a case-exact match instead of the
case-inexact match done by d_same_name function.

The second patch resolves the inconsistent name that is exposed by
/proc/self/cwd in case of a case-insensitive filesystem.
/proc/self/cwd uses the dentry name stored in dcache. Since the dcache
is populated only on the first lookup, with the string used in that lookup,
cwd will have an unexpected case, depending on how the data was first
looked-up in a case-insesitive filesystem.


Shreeya Patel (2):
fs: dcache: Handle case-exact lookup in d_alloc_parallel
fs: ext4: Fix the inconsistent name exposed by /proc/self/cwd

fs/dcache.c | 20 ++++++++++++++++++--
fs/ext4/namei.c | 13 +++++++++++++
2 files changed, 31 insertions(+), 2 deletions(-)

--
2.30.2