[tahoe-dev] Progress on SFTP for v1.7

David-Sarah Hopwood david-sarah at jacaranda.org
Thu May 13 04:01:25 UTC 2010


Francois Deppierraz wrote:
> Hi David-Sarah,
> 
> On 05/12/2010 09:11 AM, David-Sarah Hopwood wrote:
> 
>> See<http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1037>  for an update
>> on the features that will be supported.
>>
>> The tests will not be end-to-end for 1.7, i.e. they will not run over
>> a real SSH connection. This makes manual testing more important. The
>> more clients we test, the more chance we have of uncovering any
>> interoperability bugs.
>>
>> To get a copy of Tahoe with the sftp patches applied, install darcs
>> and use:
>>
>> darcs get --lazy http://allmydata.org/source/tahoe-lafs/ticket1037
>> tahoe-sftp
> 
> I gave it a try under Ubuntu 10.04 with both Nautilus and sshfs as
> client. Browsing through the directories and opening small and big files
> is working pretty well. Creating directories and renaming file names is
> also working.

Excellent, thankyou.

Incidentally, knowing more about the internals of the new code may allow
people to test it more systematically:

There are two implementations of an SFTP file handle: ShortReadOnlySFTPFile
and GeneralSFTPFile. The former is used for short immutable files opened
for reading. The latter is used in all other cases. The threshold for
"short" is currently "up to 1000 bytes", although it will be raised later
for efficiency.

So, to test the code thoroughly, it's necessary to use files in all of
the following categories:

 - LIT files (up to 65 bytes I think; immutable)
 - small CHK files (66 to 1000 bytes inclusive; immutable)
 - large CHK files (more than 1000 bytes; immutable)
 - SSK files (size doesn't matter; mutable)

Each of these needs to be tested with all combinations of 'open' flags that
the client supports.

The categories of directories are:
 - DIR2-LIT directories (empty, or with one small LIT file and no metadata)
 - DIR2-IMM directories (e.g. produced by 'tahoe backup')
 - DIR2 mutable directories (the most common case)

> However, I had no luck in writing immutable files.

Was that with both Nautilus and sshfs?

> The process was simply hanging and no activity was visible on the node
> status page. A detailed log recovered using 'flogtool tail' during the
> upload is attached to this mail.

To debug this I need to know what requests the client made, in particular
what flags were passed to the open request when writing. Can you change
'debug = False' to 'debug = True' in sftpd.py, and attach the full output
to ticket #1037? Thanks.

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 292 bytes
Desc: OpenPGP digital signature
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20100513/0c709011/attachment.asc>


More information about the tahoe-dev mailing list