linux-initrd: Allow unionfs to have a large number of open files.

Fixes <http://bugs.gnu.org/17827>.

* guix/build/linux-initrd.scm (mount-root-file-system) [volatile-root?]:
  Pass unionfs '-o max_file=65536'.
This commit is contained in:
Ludovic Courtès 2014-06-21 17:35:56 +02:00
parent 738146bfd4
commit 9b9148d8bb
1 changed files with 5 additions and 2 deletions

View File

@ -439,9 +439,12 @@ UNIONFS."
;; We want read-write /dev nodes. ;; We want read-write /dev nodes.
(make-essential-device-nodes #:root "/rw-root") (make-essential-device-nodes #:root "/rw-root")
;; Make /root a union of the tmpfs and the actual root. ;; Make /root a union of the tmpfs and the actual root. Use
;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
;; itself. Failing to do that, we quickly run out of file
;; descriptors; see <http://bugs.gnu.org/17827>.
(unless (zero? (system* unionfs "-o" (unless (zero? (system* unionfs "-o"
"cow,allow_other,use_ino,suid,dev" "cow,allow_other,use_ino,suid,dev,max_files=65536"
"/rw-root=RW:/real-root=RO" "/rw-root=RW:/real-root=RO"
"/root")) "/root"))
(error "unionfs failed")) (error "unionfs failed"))