VFS: Parallel unmounting of filesystems produces system call error
From: Philipp Hachtmann
Date: Tue Nov 18 2014 - 10:49:47 EST
Hi Al,
I just ran some tests involving many parallel mount and unmount
operations. I sometimes get EINVAL and the umount program says "not
mounted". Which is definitively wrong. It feels like a race condition
somewhere in the VFS code.
I use todays master branch (commit fc14f9c1272f62c3) on s390 with 1024
DASD devices.
In fs/namespace.c, sys_umount:
> retval = user_path_mountpoint_at(AT_FDCWD, name,
> lookup_flags, &path);
...
> retval = -EINVAL;
> if (path.dentry != path.mnt->mnt_root)
> goto dput_and_out;
This seems to be erroneously true from time to time.
The script does something equivalent to:
> for n in $DEVNODES; do
> umount $n &
> done
Do you have any idea what's wrong?
Kind regards
Philipp
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/