I read in another topic that the only supported upgrade path is from one
minor version to the next. I have backends that were last used with s3ql
2.15, which are no longer usable because Ubuntu's s3ql and llfuse packages
are incompatible (I started another topic about this and the suggestion was
to switch one or both versions, which I can't see a way to do in Ubuntu).
I'm trying to go back and build each old version of s3ql from source
starting from 2.15, but the tests failed on 2.15 and 2.16 so I'm at a
standstill already. Both failures appear to be to do with llfuse, which I
have built and installed the most recent version of successfully (1.2).
I'm just following the most recent install docs, for 2.21, which state
required versions of dependencies, but I don't know what these docs will
have said about how to build older versions. Are these docs stored
somewhere? If not, can you tell me which versions of llfuse I need for each
release? And of course, how to build each of those and what their
dependencies were :)
For reference, the 2.15 test failure was this:
===================================================================================================
FAILURES
===================================================================================================
____________________________________________________________________________________________
fs_api_tests.test_edit
____________________________________________________________________________________________
Traceback (most recent call last):
File "/home/ben/s3ql-2.15/tests/t3_fs_api.py", line 744, in test_edit
self.server.setattr(inode.id, attr)
File "/home/ben/s3ql-2.15/src/s3ql/fs.py", line 864, in setattr
if attr.st_atime is not None:
AttributeError: 'llfuse.EntryAttributes' object has no attribute 'st_atime'
----------------------------------------------------------------------------------------------
Captured log call
-----------------------------------------------------------------------------------------------
block_cache.py 262 DEBUG Initializing
fs.py 972 DEBUG started with id_p=1, b's3ql_1'
block_cache.py 738 DEBUG started with 4, 0
block_cache.py 751 DEBUG creating new block
fs.py 1190 DEBUG started with 4
block_cache.py 925 DEBUG started
block_cache.py 801 DEBUG started
block_cache.py 823 DEBUG uploading <Dirty CacheEntry, inode=4, blockno=0>..
block_cache.py 496 DEBUG started with <Dirty CacheEntry, inode=4, blockno=0>
block_cache.py 540 DEBUG created new object 1
block_cache.py 543 DEBUG created new block 1
block_cache.py 544 DEBUG adding to upload queue
block_cache.py 428 DEBUG uploaded 1024 bytes in 0.001 seconds, 0.99 MiB/s
block_cache.py 582 DEBUG no old block, returning
block_cache.py 843 DEBUG waiting for transfer threads..
block_cache.py 828 DEBUG removing inode 4, block 0 from cache
block_cache.py 846 DEBUG finished
block_cache.py 930 DEBUG finished
fs.py 951 DEBUG started with 4
fs.py 815 DEBUG started with 4, st_atime_ns=0, st_blksize=4096, st_blocks=0,
st_ctime_ns=0, st_gid=0, st_ino=0, st_mode=32768, st_mtime_ns=0, st_nlink=1,
st_rdev=0, st_size=0, st_uid=0
block_cache.py 859 DEBUG started with 4, 0, 1
block_cache.py 632 DEBUG removing block 1
block_cache.py 643 DEBUG removing object 1
block_cache.py 649 DEBUG adding 1 to removal queue
block_cache.py 680 DEBUG reading from queue (blocking=True)
block_cache.py 680 DEBUG reading from queue (blocking=False)
block_cache.py 686 DEBUG removing: [1]
block_cache.py 888 DEBUG finished
block_cache.py 344 DEBUG clearing cache...
block_cache.py 925 DEBUG started
block_cache.py 801 DEBUG started
block_cache.py 846 DEBUG finished
block_cache.py 930 DEBUG finished
block_cache.py 353 DEBUG Signaling upload threads...
block_cache.py 360 DEBUG Signaling removal threads...
block_cache.py 367 DEBUG waiting for upload threads...
block_cache.py 371 DEBUG waiting for removal threads...
block_cache.py 392 DEBUG cleanup done.
... and the 2.16 test failure was this:
===================================================================================================
FAILURES
===================================================================================================
________________________________________________________________________________________________
TestFuse.test
_________________________________________________________________________________________________
Traceback (most recent call last):
File "/home/ben/s3ql-2.16/tests/t4_fuse.py", line 178, in test
self.umount()
File "/home/ben/s3ql-2.16/tests/t4_fuse.py", line 113, in umount
assert self.mount_process.poll() == 0
AssertionError: assert 1 == 0
+ where 1 = <bound method Popen.poll of <subprocess.Popen object at
0x7f5cadf73080>>()
+ where <bound method Popen.poll of <subprocess.Popen object at
0x7f5cadf73080>> = <subprocess.Popen object at 0x7f5cadf73080>.poll
+ where <subprocess.Popen object at 0x7f5cadf73080> = <t4_fuse.
TestFuse object at 0x7f5cab545ba8>.mount_process
---------------------------------------------------------------------------------------------
Captured stdout call
---------------------------------------------------------------------------------------------
Please store the following master key in a safe location. It allows
decryption of the S3QL file system in case the storage objects holding
this information get corrupted:
---BEGIN MASTER KEY---
kW0w goIY AAkq tGgs trpt tyG4 ThUu emuK FzBn Xunx 5t8=
---END MASTER KEY---
---------------------------------------------------------------------------------------------
Captured stderr call
---------------------------------------------------------------------------------------------
Warning: maximum object sizes less than 1 MiB will seriously degrade
performance.
Uncaught top-level exception:
Traceback (most recent call last):
File "/home/ben/s3ql-2.16/bin/mount.s3ql", line 26, in <module>
s3ql.mount.main(sys.argv[1:])
File "/home/ben/s3ql-2.16/src/s3ql/mount.py", line 231, in main
unmount_clean = True
File "/usr/lib/python3.5/contextlib.py", line 360, in __exit__
raise exc_details[1]
File "/usr/lib/python3.5/contextlib.py", line 345, in __exit__
if cb(*exc_details):
File "/usr/lib/python3.5/contextlib.py", line 291, in _exit_wrapper
callback(*args, **kwds)
File "/home/ben/s3ql-2.16/src/s3ql/mount.py", line 176, in unmount
llfuse.close(unmount=unmount_clean)
File "src/fuse_api.pxi", line 526, in llfuse.close (src/llfuse.c:38212)
File "src/fuse_api.pxi", line 526, in llfuse.close (src/llfuse.c:38212)
File "src/handlers.pxi", line 23, in llfuse.fuse_destroy (src/llfuse.c:
6998)
File "src/misc.pxi", line 234, in llfuse.Lock.__enter__ (src/llfuse.c:
27252)
File "src/misc.pxi", line 173, in llfuse.Lock.acquire (src/llfuse.c:26550)
RuntimeError: Global lock cannot be acquired more than once
--
You received this message because you are subscribed to the Google Groups
"s3ql" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.