LR should not touch the hashes of non-existant MD
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Ubuntu One Client | Status tracked in Trunk | |||||
Stable-1-6 |
Fix Released
|
Critical
|
Facundo Batista | |||
Stable-2-0 |
Fix Released
|
Critical
|
Facundo Batista | |||
Stable-3-0 |
Fix Released
|
Critical
|
Facundo Batista | |||
Trunk |
Fix Released
|
Critical
|
Facundo Batista | |||
ubuntuone-client (Ubuntu) |
Fix Released
|
High
|
dobey | |||
Natty |
Fix Released
|
High
|
dobey | |||
Oneiric |
Fix Released
|
High
|
dobey | |||
Precise |
Fix Released
|
High
|
dobey |
Bug Description
When in UDF mode, LR intercepts deletions, and as part of the process it dirties the parent hashes... but the parent may not exist.
Patch proposed:
=== modified file 'ubuntuone/
--- ubuntuone/
+++ ubuntuone/
@@ -672,8 +672,11 @@
fsm = self.fsm
for evtname, path in delete_events:
- log_info("UDF mode! Resetting hashes to dir %r", parentpath)
- self.fsm.
+ if self.fsm.
+ log_info("UDF mode! Resetting hashes to dir %r",
+ parentpath)
+ self.fsm.
+ local_hash="", server_hash="")
if evtname == "FS_DIR_DELETE":
---------
TEST CASE:
Run these commands to setup the tests:
mkdir ~/Ubuntu\ One/807737 ~/Ubuntu\ One/807737/a ~/Ubuntu\ One/807737/a/b ~/Ubuntu\ One/807737/aa
(Wait a minute for Ubuntu One to pickup these new folders)
u1sdtool -q
rm -r ~/Ubuntu\ One/807737/a
u1sdtool -c
Result: ~/Ubuntu\ One/807737/a and ~/Ubuntu\ One/807737/aa are deleted
Expected result: Only ~/Ubuntu\ One/807737/a is deleted
Related branches
- Facundo Batista (community): Approve
- Guillermo Gonzalez: Approve
-
Diff: 78 lines (+15/-5)3 files modifiedtests/syncdaemon/test_fsm.py (+6/-0)
tests/syncdaemon/test_localrescan.py (+1/-0)
ubuntuone/syncdaemon/filesystem_manager.py (+8/-5)
- Facundo Batista (community): Approve
- John O'Brien (community): Approve
-
Diff: 78 lines (+15/-5)3 files modifiedtests/syncdaemon/test_fsm.py (+6/-0)
tests/syncdaemon/test_localrescan.py (+1/-0)
ubuntuone/syncdaemon/filesystem_manager.py (+8/-5)
- Facundo Batista (community): Approve
- John O'Brien (community): Approve
-
Diff: 78 lines (+15/-5)3 files modifiedtests/syncdaemon/test_fsm.py (+6/-0)
tests/syncdaemon/test_localrescan.py (+1/-0)
ubuntuone/syncdaemon/filesystem_manager.py (+8/-5)
Changed in ubuntuone-client: | |
status: | Confirmed → Triaged |
assignee: | Ubuntu One Foundations+ team (ubuntuone-foundations+) → Facundo Batista (facundo) |
status: | Triaged → In Progress |
tags: | added: u1-natty-sru |
Changed in ubuntuone-client (Ubuntu): | |
importance: | Undecided → High |
description: | updated |
Changed in ubuntuone-client (Ubuntu Oneiric): | |
milestone: | none → oneiric-updates |
assignee: | nobody → Rodney Dawes (dobey) |
tags: | added: u1-oneiric-sru |
Changed in ubuntuone-client (Ubuntu Natty): | |
assignee: | nobody → Rodney Dawes (dobey) |
importance: | Undecided → High |
status: | New → In Progress |
description: | updated |
Changed in ubuntuone-client (Ubuntu Natty): | |
milestone: | none → natty-updates |
Changed in ubuntuone-client (Ubuntu Precise): | |
milestone: | none → precise-alpha-1 |
Changed in ubuntuone-client (Ubuntu Precise): | |
assignee: | nobody → Rodney Dawes (dobey) |
importance: | Undecided → High |
milestone: | precise-alpha-1 → precise-alpha-2 |
tags: | removed: u1-oneiric-sru |
Setting to high because makes SD stuck there.