mem= and large file support
btw: with the 26-3um and 2.6.8.1 announce Jeff mentions the new SKAS, ! TT, STATIC allows mem= ~2.75G upper limit but do we need O_LARGEFILE somewhere? or to compile with -D_FILE_OFFSET_64_BITS
[u2](dbahi)277$ ulimit -f
unlimited
linux umid=uml_1 ubd0=/local/umltest/cow/ubd0_1,/local/dbahi/root_fs.rh-9-full ubd1=/local/umltest/cow/ubd1_1,/local/dbahi/swap_fs.256 root=/dev/ubd/0 uml_dir=/local/umltest/umldir hostfs=/local/umltest/hostfs/host_1 mem=2048M eth0=daemon,fe:fd:00:00:00:1,unix,/local/umltest/pipe Checking for the skas3 patch in the host...found
Checking for /proc/mm...found
File size limit exceeded
thank you.
Quoted 3 lines · [email protected] said:
btw: with the 26-3um and 2.6.8.1 announce Jeff mentions the new SKAS, ! TT, STATIC allows mem= ~2.75G upper limit but do we need
O_LARGEFILEsomewhere? or to compile with -D_FILE_OFFSET_64_BITS
Probably. Can you strace that and see where E2BIG is coming from?
Jeff
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
cool - so... it's in tempfile.c : 53make_tempfile calls mkstemp -
so maybe a build option required to get the
option in with this library call? but which?
info on libc says:
When the sources are compiled with _FILE_OFFSET_BITS == 64' on a 32-bit system this function is in fact tmpfile64', i.e. the LFS interface transparently replaces the old interface.
so i'll try that.
and just for 'create_mem_file' completeness
the devanon case doesn't need attention with
the mmap. right?
-----
rt_sigprocmask(SIG_UNBLOCK, [ALRM VTALRM], [ALRM VTALRM IO], 8) = 0 rt_sigprocmask(SIG_BLOCK, [IO], NULL, 8) = 0 gettimeofday({1092914208, 599204}, NULL) = 0getpid() = 24405open("/tmp/vm_file-3NJodS", O_RDWR|O_CREAT|O_EXCL, 0600) = 3unlink("/tmp/vm_file-3NJodS") = 0fchmod(3, 0777) = 0_llseek(3, 2147483648, [2147483648], SEEK_SET) = 0write(3, "\0", 1) = -1 EFBIG (File too large)
--- SIGXFSZ (File size limit exceeded) @ 0 (0) ---
+++ killed by SIGXFSZ +++
Quoted 11 lines · Jeff Dike
Quoted 3 lines · [email protected] said:
btw: with the 26-3um and 2.6.8.1 announce Jeff mentions the new SKAS, ! TT, STATIC allows mem= ~2.75G upper limit but do we need
O_LARGEFILEsomewhere? or to compile with -D_FILE_OFFSET_64_BITSProbably. Can you strace that and see where E2BIG is coming from?
Jeff
yep that does it. here's the simple patch. and proof ;)
joy
linux umid=uml_1 mem=2176M root=/dev/ubd/0 \
ubd0=/local/umltest/cow/ubd0_1,/local/dbahi/root_fs.mv-31 \
ubd1=/local/umltest/cow/ubd1_1,/local/dbahi/swap_fs.256 \
uml_dir=/local/umltest/umldir hostfs=/local/umltest/hostfs/host_1 \
eth0=daemon,fe:fd:00:00:00:1,unix,/local/umltest/pipe
...
root@(none):~# cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 2230177792 17244160 2212933632 0 466944 3371008
Swap: 0 0 0
MemTotal: 2177908 kB
MemFree: 2161068 kB
MemShared: 0 kB
Buffers: 456 kB
Cached: 3292 kB
SwapCached: 0 kB
Active: 2032 kB
Inactive: 2428 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 2177908 kB
LowFree: 2161068 kB
SwapTotal: 0 kB
SwapFree: 0 kBQuoted 48 lines · D. Bahi
cool - so... it's in
tempfile.c: 53make_tempfilecalls mkstemp -so maybe a build option required to get the
option in with this library call? but which?info on libc says:
When the sources are compiled with
_FILE_OFFSET_BITS == 64' on a 32-bit system this function is in facttmpfile64', i.e. the LFS interface transparently replaces the old interface.so i'll try that.
and just for '
create_mem_file' completeness
the devanon case doesn't need attention with
the mmap. right?-----
rt_sigprocmask(SIG_UNBLOCK, [ALRM VTALRM], [ALRM VTALRM IO], 8)= 0rt_sigprocmask(SIG_BLOCK, [IO], NULL, 8)= 0gettimeofday({1092914208, 599204}, NULL)= 0getpid()= 24405open("/tmp/vm_file-3NJodS", O_RDWR|O_CREAT|O_EXCL, 0600)= 3unlink("/tmp/vm_file-3NJodS")= 0fchmod(3, 0777)= 0_llseek(3, 2147483648, [2147483648], SEEK_SET)= 0write(3, "\0", 1)= -1 EFBIG (File too large)killed by SIGXFSZ +++ renamed from SIGXFSZ (File size limit exceeded) @ 0 (0) --- +0
-0Quoted 12 lines · Jeff Dike
Quoted 3 lines · [email protected] said:
btw: with the 26-3um and 2.6.8.1 announce Jeff mentions the new SKAS, ! TT, STATIC allows mem= ~2.75G upper limit but do we need
O_LARGEFILEsomewhere? or to compile with -D_FILE_OFFSET_64_BITSProbably. Can you strace that and see where E2BIG is coming from?
Jeff
Signature · 1 line
db
um/Makefile renamed from um/Makefile@@/main/patch_kernel.org/patch_linux_kernel_uml_2.4.26/3 +1 -1
@@ -51,7 +51,7 @@ CFLAGS += $(ARCH_CFLAGS) $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ -D_LARGEFILE64_SOURCE $(ARCH_INCLUDE) -Derrno=kernel_errno \ - $(MODE_INCLUDE) + $(MODE_INCLUDE) -D_FILE_OFFSET_BITS=64 check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)