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

List:       fuse-devel
Subject:    Re: [fuse-devel] curlftpfs and streaming writes (was FUSE and
From:       Miklos Szeredi <miklos () szeredi ! hu>
Date:       2007-11-19 19:23:25
Message-ID: E1IuCDN-0002Cg-HU () dorka ! pomaz ! szeredi ! hu
[Download RAW message or body]

> Miklos Szeredi wrote:
> >> with wireshark i found the reason why writing to my ftp server failed:
> >>
> >> 451 Failure writing to local file
> >>
> >> which means: my webspace is full.
> >>
> >> with my changes the error gets reported for big files, but i have a 
> >> problem with small files which only need one ftpfs_write() call (like 
> >> echo "hello world" > file). this is really tricky, because there is no 
> >> subsequent ftpfs_write() to return an error. and returning an error in 
> >> ftpfs_release() won't work i guess.
> >>     
> >
> > It should probably be returning the error in ftpfs_flush().  That
> > means, the application will get the error from close(2).
> >
> > Unfortunately many apps don't check the return value of close() so
> > that may not help (the shell should be OK, so your example would
> > actually work).
> >
> > The only other possibility is to make writes synchronous, but I don't
> > think that can be done with libcurl.
> >
> > Miklos
> >   
> 
> this really sucks! i just realized that for tiny files the error can not 
> be detected before finishing the libcurl transfer, which obviously can't 
> be before ftpfs_release().

It could be finished in ftpfs_flush().  In the vast majority of cases
->release() will follow immediately after ->flush().  In the minority
there could be more reads or writes, but in those exceptional cases
the transfer could be restarted, no?

Miklos

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
fuse-devel mailing list
fuse-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

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