project exports are written to the `shared/tmp` directory which can easily fill up the root partition
By default project exports are first written to shared/tmp before uploading to object storage. For large projects (multi gigabyte) this can easily fill up the root partition.
The shared/tmp directory unfortunately is not configurable beyond the location of the shared/ directory in gitlab.yml which is the base directory for files that are not temporary.
Errno::ENOSPC: No space left on device @ dir_s_mkdir - /var/opt/gitlab/gitlab-rails/shared/tmp/gitlab_exports/@h...
https://sentry.gitlab.net/gitlab/gitlabcom/issues/1109394/
Errno::ENOSPC: No space left on device @ dir_s_mkdir - /var/opt/gitlab/gitlab-rails/shared/tmp/gitlab_exports/@hashed/06/5f/065fe9ff046f684d19aff4e5fec4d0d493f0dbd2d09727b4ccc98f42ca654dbf/2d9ceb6edb11f3c324aaac423bdc5e5e
fileutils.rb:236:in `mkdir'
Dir.mkdir path, mode
fileutils.rb:236:in `fu_mkdir'
Dir.mkdir path, mode
fileutils.rb:217:in `block (2 levels) in mkdir_p'
fu_mkdir dir, mode
fileutils.rb:215:in `reverse_each'
stack.reverse_each do |dir|
fileutils.rb:215:in `block in mkdir_p'
stack.reverse_each do |dir|
...
(64 additional frame(s) were not displayed)
Errno::ENOSPC: No space left on device @ dir_s_mkdir - /var/opt/gitlab/gitlab-rails/shared/tmp/gitlab_exports/@hashed/06/5f/065fe9ff046f684d19aff4e5fec4d0d493f0dbd2d09727b4ccc98f42ca654dbf/2d9ceb6edb11f3c324aaac423bdc5e5e
Edited by John Jarvis