Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: File copy size limit on Linux

by TVSET (Chaplain)
on Dec 18, 2003 at 23:35 UTC ( #315691=note: print w/ replies, xml ) Need Help??


in reply to File copy size limit on Linux

I'm trying to perform a very simple file copy on Linux and have run into what appears to be a possible file size copy limitation.

There is no such limitation in Linux, since you say that you can copy file with the system "cp".

When I run this simple script it appears that it works as I get no errors but the file never copies.

You don't check for any errors, that's why you don't get any. Try doing something like copy($file1, $file2) || die "Error: $!";.

I'm running Linux Redhat 2.1, (actually ESX server 1.5.2)

Are you sure? ;)


Comment on Re: File copy size limit on Linux
Download Code
Re: Re: File copy size limit on Linux
by Anonymous Monk on Dec 18, 2003 at 23:46 UTC
    Hi Leonid,

    Very good suggestion, I placed the error code in my script and get the following error:
    Error: Value too large for defined data type at (eval 13)/usr/lib/perl5/5.6.0/p erl5db.pl:1510 line 2, <IN> line 2.

    That is what makes me think the File:Copy module might have some type of size limitation. Not sure where to go from here but thanks for the help. Also, I believe I'm running Redhat 8.1 (or whatever comes shipped with ESX server) I was referring to kernel 2.4 and not 2.1.
      Ok, better now. It seems to me that your version of perl was compiled without support for large files. You can verify that by executing "perl -V" from the command line and inspecting the output. You should see something like "-Duselargefiles" and/or "selargefiles=define". If you perl version was compiled without large files support, then you can rebuild it either from source or from .src.rpm (this might be easier, since you are using RedHat).

      Also, I would like to draw your attention to this paragraph in the perldoc File::Copy: "An optional third parameter can be used to specify the buffer size used for copying. This is the number of bytes from the first file, that wil be held in memory at any given time, before being written to the second file. The default buffer size depends upon the file, but will generally be the whole file (up to 2Mb), or 1k for file-handles that do not reference files (eg. sockets).". I doubt it will help you now, but it's good to have in mind. :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://315691]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2014-09-17 10:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (72 votes), past polls