summaryrefslogtreecommitdiffstats
path: root/src/tools/uic/cpp/cppwriteincludes.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-10-24 13:48:15 -0700
committerThiago Macieira <thiago.macieira@intel.com>2017-10-29 21:21:06 +0000
commitea0e868c4881944207e9b3a77011e05a505ff3b7 (patch)
treeb0048265487b8d5c879e7c62152759d162713f37 /src/tools/uic/cpp/cppwriteincludes.cpp
parentfb5976038162d93d60c7f76376bbb4df38e83ba9 (diff)
QFileSystemEngine: Fix renameat2() failures on non-local filesystems
The RENAME_NOREPLACE flag is supported for all Linux local filesystems, since that can be easily checked by the VFS layer (it knows which files exist and which ones don't). For non-local filesystems, the backend needs support and that might need server-side support too. So we may get EINVAL errors for those, in which case we fall back to link/unlink, which in turn can fall back to rename(). EINVAL can also happen if we attempt to make a directory a subdirectory of itself. In that case, we will attempt to link() it, which will result in EPERM as we can't hardlink directories. Then we try rename() again, which should result in the expected EINVAL. Task-number: QTBUG-64008 Change-Id: Icaa86fc7b54d4b368c0efffd14f09ca23602dd2e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/tools/uic/cpp/cppwriteincludes.cpp')
0 files changed, 0 insertions, 0 deletions