On Tue, Jul 13, 2010 at 4:57 PM, Les Mikesell <lesmikesell_at_gmail.com> wrote:
> On 7/13/2010 2:50 PM, David Brodbeck wrote:
>>
>> On Jul 13, 2010, at 5:50 AM, Les Mikesell wrote:
>> This could be a lot of it if a substantial number of files are in one flat
>> subdirectory. CIFS really, really does not deal with large directories
>> well. Neither does NFS, but the way Windows handles directories tends to
>> make it worse.
>
> I think CIFS is just the network protocol. The real issue is on the
> physical filesystem side. When you open a file for writing, the underlying
> system has to determine if that file name already exists and if not, find or
> create a new filename slot to create it. And this has to be done atomically,
> since other processes might be trying to create the same file at the same
> time and only one can succeed. This is bad enough in a large directory when
> you let the OS deal with exact matches, but if you are faking case
> insensitivity you have to do much more work in user space to find the
> potential collisions with everything locked for longer times.
No, this is clearly not the only problem. Copying the working copy
from one CIFS share to another, or even back to the same CIFS share,
takes only a few minutes.
What, precisely, do you mean by "faking case insensitivity"? CIFS
servers normally have standard approaches that prevent CIFS files from
overwriting files with mismatched case names, it's true, but this
can't actually be turned off. It is possible for the CIFS server to
map all names to lower case, which is not occurring in this case.
Received on 2010-07-14 02:45:21 CEST