Attached is the log file for a failed unmount.

While my previous attempts were simple umount.s3ql commands, this time a couple of additional commands were run after rsync completed and before the umount:

   s3qlctrl flushcache /media/server-external
   s3qlctrl upload-meta /media/server-external
   umount.s3ql /media/server-external

None displayed any errors at the command line level, but the end result was the same, next mount attempt indicated:

   File system damaged or not unmounted cleanly, run fsck!

Regards,

Shannon C. Dealy           |         DeaTech Research Inc.
de...@deatech.com          |    - Custom Software Development -
USA Phone: +1 800-467-5820 |    - Natural Building Instruction -
numbers  : +1 541-929-4089 |            www.deatech.com
2014-12-04 13:14:27.483 13515:MainThread (name)s.determine_threads: Using 8 
upload threads.
2014-12-04 13:14:27.487 13515:MainThread (name)s.main: Autodetected 4040 file 
descriptors available for cache entries
2014-12-04 13:14:41.599 13515:MainThread (name)s.get_metadata: Ignoring locally 
cached metadata (outdated).
2014-12-04 13:14:42.226 13515:MainThread (name)s.get_metadata: Downloading and 
decompressing metadata...
2014-12-04 13:23:26.960 13515:MainThread (name)s.get_metadata: Reading 
metadata...
2014-12-04 13:23:26.965 13515:MainThread (name)s.restore_metadata: ..objects..
2014-12-04 13:23:34.746 13515:MainThread (name)s.restore_metadata: ..blocks..
2014-12-04 13:24:10.699 13515:MainThread (name)s.restore_metadata: ..inodes..
2014-12-04 13:25:01.822 13515:MainThread (name)s.restore_metadata: 
..inode_blocks..
2014-12-04 13:26:16.473 13515:MainThread (name)s.restore_metadata: 
..symlink_targets..
2014-12-04 13:26:19.260 13515:MainThread (name)s.restore_metadata: ..names..
2014-12-04 13:26:46.256 13515:MainThread (name)s.restore_metadata: ..contents..
2014-12-04 13:29:10.849 13515:MainThread (name)s.restore_metadata: 
..ext_attributes..
2014-12-04 13:29:30.511 13515:MainThread (name)s.main: Setting cache size to 
42007 MB
2014-12-04 13:29:30.513 13515:MainThread (name)s.main: Mounting filesystem...
2014-12-04 13:29:30.535 13870:MainThread (name)s.detach_process_context: 
Daemonizing, new PID is 13874
2014-12-04 15:01:30.236 13874:Metadata-Upload-Thread (name)s.run: Dumping 
metadata...
2014-12-04 15:01:30.240 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..objects..
2014-12-04 15:01:33.701 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..blocks..
2014-12-04 15:01:40.118 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..inodes..
2014-12-04 15:02:22.569 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..inode_blocks..
2014-12-04 15:02:45.095 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..symlink_targets..
2014-12-04 15:02:45.892 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..names..
2014-12-04 15:02:48.911 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..contents..
2014-12-04 15:03:16.247 13874:Metadata-Upload-Thread (name)s.dump_metadata: 
..ext_attributes..
2014-12-04 15:03:17.194 13874:Metadata-Upload-Thread (name)s.run: Compressing 
and uploading metadata...
2014-12-04 15:06:19.607 13874:Metadata-Upload-Thread (name)s.run: Wrote 101 MiB 
of compressed metadata.
2014-12-04 15:06:19.609 13874:Metadata-Upload-Thread (name)s.run: Cycling 
metadata backups...
2014-12-04 15:06:19.609 13874:Metadata-Upload-Thread (name)s.cycle_metadata: 
Backing up old metadata...
2014-12-04 15:07:34.506 13874:Dummy-22 (name)s.stacktrace: 
# ThreadID: 140728286045952
pyapi.py:504, in stacktrace
    for filename, lineno, name, line in traceback.extract_stack(frame):

# ThreadID: 140728294438656
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729826797312
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140728831309568
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140728822916864
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729410111232
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729384933120
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729793226496
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729918973696
mount.s3ql:9, in <module>
    load_entry_point('s3ql==2.11.1', 'console_scripts', 'mount.s3ql')()
mount.py:215, in main
    llfuse.main(options.single)

# ThreadID: 140729435289344
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729818404608
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729784833792
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729801619200
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140728797738752
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729393325824
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140728806131456
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729418503936
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729426896640
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729810011904
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140728789346048
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
mount.py:698, in run
    cycle_metadata(backend)
metadata.py:121, in cycle_metadata
    cycle_fn("s3ql_metadata_bak_%d" % i, "s3ql_metadata_bak_%d" % (i + 1))
comprenc.py:290, in copy
    self._copy_or_rename(src, dest, rename=False, metadata=metadata)
comprenc.py:323, in _copy_or_rename
    self.backend.copy(src, dest, metadata=meta_raw)
local.py:194, in copy
    shutil.copyfileobj(src, dest, BUFSIZE)
shutil.py:66, in copyfileobj
    buf = fsrc.read(length)

# ThreadID: 140728780953344
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
mount.py:799, in run
    self.stop_event.wait(5)
threading.py:553, in wait
    signaled = self._cond.wait(timeout)
threading.py:294, in wait
    gotit = waiter.acquire(True, timeout)

# ThreadID: 140728814524160
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140729401718528
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()
2014-12-04 15:08:22.853 13874:MainThread (name)s.main: FUSE main loop 
terminated.
2014-12-04 16:22:27.877 13874:MainThread (name)s.unmount: Unmounting file 
system...
2014-12-04 16:22:27.887 13874:MainThread (name)s.excepthook: Uncaught top-level 
exception:
Traceback (most recent call last):
  File "/usr/bin/mount.s3ql", line 9, in <module>
    load_entry_point('s3ql==2.11.1', 'console_scripts', 'mount.s3ql')()
  File "/usr/lib/s3ql/s3ql/mount.py", line 230, in main
    unmount_clean = True
  File "/usr/lib/python3.4/contextlib.py", line 336, in __exit__
    raise exc_details[1]
  File "/usr/lib/python3.4/contextlib.py", line 321, in __exit__
    if cb(*exc_details):
  File "/usr/lib/python3.4/contextlib.py", line 267, in _exit_wrapper
    callback(*args, **kwds)
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 390, in destroy
    os.rmdir(self.path)
OSError: [Errno 39] Directory not empty: 
'/root/.s3ql/local:=2F=2F=2Fmedia=2FTransferDrive=2FS3QL_server-external-cache'

Reply via email to