Re: Problems with vfs / ftpfs

Walery Studennikov wrote:

Strange things happens when you try to upload file to
ftp when the file with the same name already exists there.
At first existing file (which must be overwritten)
is DOWNLOADED to the local machine and only after that
the local file is uploaded to ftp.
So, WHY to download the remote file (increasing incomming traffic
and wasting time) before owerwrite it?

Why when copying local files to ftp, those files are copied
to /tmp at first and only after that they are copied to ftp.
WHY do we do this unnecessary operation?

When file is opened there is no way to know, will the read() system call
used, because O_RDONLY is 0.  So, for performance reasons VFS layer makes
local temporary copy of this file, and then all of data is read and
written from/to this copy.  And this file is uploaded only in mc_close().

Possible solutions are:

1) get local copy on first read call only (Brr)
2) provide something like O_LINEAR flag (As far as I remember there were some problems with this options and Pavel Machek disabled this one.) Another solution is an own flag for mc_open, but we need to be sure it and its value are used nowhere in known
   Universe for open system call.
3) use directly vfs_s_data.file_store in copy_file_file/move_file_file if destination is
   not on local filesystem.


An ancient problem:

Cannot chmod target file "/mnt/d/file.txt"
Operation not permitted (1)

Occures when copying to vfat filesystems, but not only.
If we need to copy MANY files, we have to WASTE TIME
and press OK many times.
You can say "use cp -rf". Yes, but with "cp -rf"
I can't use mc vfs.

May be we will introduce a run-time option
to disable whose annoying warnings?
I mean to not disable them entirely,
but just print those warnings on the hintbar.

Also when we MOVE files and this warning occurs,
the source file is not removed.
Yes, it is wise in most cases, but maybe
also provide an option to fix this?

You can unset "preserve Attributes" when copy.
In January, 2002, I sent a patch to enable this feature for Move operation.

Andrew V. Samoilov.

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