Call statx() with AT_NO_AUTOMOUNT

Otherwise it can be very slow in some cases (e.g. 0.5 sec).
Besides, AT_NO_AUTOMOUNT is used by {l,f}stat() internally.

Pick-to: 6.1 6.0 5.15
Change-Id: Iae9c8b46dcdc96d21ac6b114a51c382b4949d3dd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Alexander Volkov 2021-03-25 19:08:00 +03:00 committed by Thiago Macieira
parent 33edff40e4
commit 9667ac1c2d

View File

@ -311,7 +311,7 @@ mtime(const T &statBuffer, int)
static int qt_real_statx(int fd, const char *pathname, int flags, struct statx *statxBuffer)
{
unsigned mask = STATX_BASIC_STATS | STATX_BTIME;
int ret = statx(fd, pathname, flags, mask, statxBuffer);
int ret = statx(fd, pathname, flags | AT_NO_AUTOMOUNT, mask, statxBuffer);
return ret == -1 ? -errno : 0;
}