[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: branches/KDE/3.5/kdelibs/kioslave/http
From:       Hamish Rodda <rodda () kde ! org>
Date:       2005-12-28 11:00:00
Message-ID: 200512282200.02934.rodda () kde ! org
[Download RAW message or body]


On Wednesday 28 December 2005 21:38, David Faure wrote:
> On Wednesday 28 December 2005 11:22, Hamish Rodda wrote:
> > On Wednesday 28 December 2005 20:57, David Faure wrote:
> > > On Wednesday 28 December 2005 09:40, Hamish Rodda wrote:
> > > > SVN commit 491966 by rodda:
> > > >
> > > > When uploading files to a webdav(s) URL, stat the file first to make
> > > > sure it doesn't already exist.
> > > >
> > > > I would have expected this check to be within kio, but oh well,
> > > > what's an extra round trip anyway...
> > >
> > > Right, KIO::CopyJob does check if the destination exists first.
> > >
> > > So I'm surprised by this... but I'm not sure I have a webdav account
> > > somewhere to even check what the problem is.
> > > I guess you checked already that HTTPProtocol::davStatList returns
> > > ERR_DOES_NOT_EXIST correctly?
> >
> > That's just it, the file exists, so if it was to be stat-ed, it would
> > return the correct entry.
>
> Oh sorry, I was confused. I see.
>
> > I looked at why the ftp ioslave works while the webdav slave doesn't, and
> > found that the ftp ioslave first returns ERR_FILE_ALREADY_EXIST from
> > put(), which then invokes the overwrite/rename dialog.  Are you sure the
> > check is within copyjob?
>
> Right; it's not. We don't stat each and every destination (only the overall
> destination directory), it would be far too slow. So we do expect put() to
> return ERR_FILE_ALREADY_EXIST when that's the case, indeed. Your fix is
> correct then.

... which is still a shame because there are an extra O(n) round trips 
generated by it.  If kio could do a list() and use that information where 
there are enough files in a directory to make it worthwhile, that would be 
good for webdav.  Maybe something to think about for 4?

Cheers,
Hamish.

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic