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