[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