diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index eda80c2a2d38..edc5a7419ad9 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c @@ -1605,6 +1605,9 @@ static int configfs_dir_open(struct inode *inode, struct file *file) struct configfs_dirent * parent_sd = dentry->d_fsdata; int err; + if (!configfs_dirent_is_ready(parent_sd)) + return -EAGAIN; + inode_lock(d_inode(dentry)); /* * Fake invisibility if dir belongs to a group/default groups hierarchy