RE: File Limits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The file límit seems to grow to 4 gb, but no luck running the application. On a 32 bits dosemu it works flawlessly, but on the 64 bits version it dies horribly. It seems to have problems reading/modifying/validating the license file, and only one user can use the db engine. As soon as another one logs in, it says that the max user count has been exceded. Strange thing is that the program that gives you info about the license file identifies it correclty as a 200 users license.

As soon as I replace the 64 bits dosemu with a 32 bits one it works ok again, but we're back to the 2 gb file size limit.

I'll try compiling it on my 32 bits machine with large file support, although I see that there are places where  it's using int instead of off_t to seek files and this will need to be worked out. 

-----Mensaje original-----
De: linux-msdos-owner@xxxxxxxxxxxxxxx [mailto:linux-msdos-owner@xxxxxxxxxxxxxxx] En nombre de Bryan J Smith
Enviado el: martes, 18 de enero de 2011 20:18
Para: Xavier Tarifa
CC: linux-msdos@xxxxxxxxxxxxxxx
Asunto: Re: File Limits

Then it's using the extended functions that legacy DOS Int 21h programs do not understand.  They may have merged in some NT/Win32 extensions in late Windows 98 SE and Me.  They weren't in there for Windows 95, not even OEM 2 (MS-DOS 7.1) when I tested them.

-- 
Bryan J  Smith     Professional, Technical Annoyance 
Linked Profile:   http://www.linkedin.com/in/bjsmith 
---------------------------------------------------- 
UCF Basketball:   AP #23, ESPN/USAToday #22, RPI #17
UCF Football:   AP #21, BCS #25, ESPN/USAToday #20



----- Original Message ----
From: Xavier Tarifa <Xavier.Tarifa@xxxxxxxxxxx>
To: Bryan J Smith <b.j.smith@xxxxxxxx>
Cc: "linux-msdos@xxxxxxxxxxxxxxx" <linux-msdos@xxxxxxxxxxxxxxx>
Sent: Tue, January 18, 2011 1:10:08 PM
Subject: RE: File Limits

I just created a 3 gb file on a dos 7.10 and it worked (worked as in dir tells the correct filesize). I'll have to wait a day or two to test it against our database because I'm offsite, then I'll report back the results.

-----Mensaje original-----
De: linux-msdos-owner@xxxxxxxxxxxxxxx [mailto:linux-msdos-owner@xxxxxxxxxxxxxxx]
En nombre de Bryan J Smith
Enviado el: martes, 18 de enero de 2011 18:35
Para: Xavier Tarifa; linux-msdos@xxxxxxxxxxxxxxx
Asunto: Re: File Limits

All DOS (including DOS 7/Win 4 releases running in 386Enhanced mode -- Windows 95, 98, Me) only support 2GiB files IIRC.  Even Real86 mode DOS 7 supports FAT32, which allows bigger than 2GiB _file_systems_, but still has the 2GiB-1 (signed 32-bit int) _individual_file_ size limitation IIRC.


In fact, I don't think the 4GiB-1 (unsigned 32-bit int) support is in any DOS/Win releases.  I only think it is an option in NT kernels (FAT16 in 3.1, 3.5, 3.51 and 4.0, FAT16 and FAT32 in 5.0/2000, 5.1/XP-2003, 6.0-Vista and 6.1/7-2008).  And any program that uses it _must_ know about the NT-only Win32 function calls that offer this.

I.e., the "Chicago" (Win9x) and NT/Win32 teams used _different_ DOS Int 21h and Win32[s] function calls, the former completely ignoring the pre-existing of the latter.  "Chicago" _never_ supported the native NT/Win32 calls, hence why they likely _never_ supported the extensions for 4GiB-1 support IIRC.[1]

One quick trip to TechNet and you'll note this is an issue in "bare metal" 
DOS/Win and even NT.  The legacy "Chicago" DOS Int 21h file services don't handle growing beyond 2GiB-1 proper, _unless_ the NT/Win32 function extensions are utilized.  Unfortunately even NT 5.0 (Windows 2000) implements the "Chicago" 

calls bug-for-bug for compatibility reasons.

I.e., your program is likely instigating this, and the OS is just letting it do what it wants (and causing the issue).

-- Bryan

NOTES:  
[1] Like many libraries in NT/Win32, things just "didn't work" or "work well" 
under Win9x -- OpenGL being my personal favorite, and the whole "DirectMM -- aka Direct [DOS] Memory Map" lineage now known as "DirectX".  It wasn't until NT 5.0 (Windows 2000) that the NT/Win32 team started also supporting the
"Chicago"/Win32 DOS Int 21h changes.



----- Original Message ----

From: Xavier Tarifa <Xavier.Tarifa@xxxxxxxxxxx>

So here's my problem: Until now I was using dosemu with ms-dos 6.22 to run an old database. A little while ago we had some big changes to the tables and they grew a lot.
Yesterday I realized that we have a database file that is about to hit 2 Gb. I remembered that some time ago, we hit a bug on our program and it endlessly inserted rows on a table until it hit the 2 gb mark. Then the file either disappeared or became a 0 bytes file, I don't remember well.
So I started reading and found that ms-dos 6.22 only supports FAT16 and apparently it only allows 2 gb volumes, and 2 gb files.
So I thought of using ms-dos 7.10 which supports fat32 and would give us 4 gb files. But the same happens. The files disappear as soon as they hit the 2 gb mark. And when I execute the dir command, it always reports 2 gb of free disk space, which is odd.

I don't know if this is a limitation of dosemu or I'm doing something wrong. 
Right now, I have about 140 users. On each $HOME/.dosemu/drive_c/ of the users there are symlinks to each file in /usr/share/dosemu/drive_z/ , where ms-dos is located. And I have the database files in /datos/ . I use lredir to make it appear as f: to every user.
All of this is in the same ext3 partition.

Any ideas? 
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux