rename failure

Bug #183358 reported by Valient Gough
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EncFS
Fix Released
High
rosa maria

Bug Description

Reported by user:

today I compiled encfs-1.4.1 on Ferdora 7 using Fedora Rawhide's fuse-encfs
source rpm (just replacing the encfs tar file and slightly adjusting the
.spec file) and using fuse-2.7.0 (again from F7)

Then I successfully copied a ~600 MB tree to an encfs mounted directory
(all with standard encfs options) and, to feel better, made an
unencrypted backup. A comparison (diff -rq) showed no differences. ditto
after unmount and remount.

Then I just renamed one folder with only one file in the mounted fs. Afterwards
the file in the renamed folder was gone but rm -r foldername failed - not empty.
(see below)

The encrypted folder still had the file but it was unaccessible.

See belows log:

linux:/i/ki/priv# mkdir AAA
linux:/i/ki/priv# cd AAA
linux:/i/ki/priv/AAA# ls .. > abc
linux:/i/ki/priv/AAA# cd ..
linux:/i/ki/priv# find AAA/
AAA/
AAA/abc
linux:/i/ki/priv# mv AAA BBB
linux:/i/ki/priv# find BBB
BBB

rm -r BBB
rm: cannot remove directory `BBB': Directory not empty

Please see the corresponding session log below

manually removing the problematic directory in the encrypted folder helps but
I would prefer not losing files :-)

What am I doing wrong?

Best regards,
Karl

NB. just tried with a new encfs and it failed the same way.

23:14:03 (main.cpp:515) Root directory: /i/ki/.priv.enc/
23:14:03 (main.cpp:516) Fuse arguments: (fg) (threaded) (keyCheck) encfs /i/ki/priv -f -s -o use_ino -o default_permissions
23:14:03 (Interface.cpp:165) checking if ssl/aes(2:1:1) implements ssl/blowfish(2:1:1)
23:14:03 (Interface.cpp:165) checking if ssl/blowfish(2:1:1) implements ssl/blowfish(2:1:1)
23:14:03 (SSL_Cipher.cpp:325) allocated cipher ssl/blowfish, keySize 20, ivlength 8
23:14:03 (FileUtils.cpp:1351) useStdin: 0
EncFS Password:
23:14:07 (FileUtils.cpp:1362) configuration key size = 32
23:14:07 (FileUtils.cpp:1363) cipher key size = 32
23:14:07 (Interface.cpp:165) checking if nameio/block(3:0:1) implements nameio/block(3:0:1)
23:14:10 (Context.cpp:119) no node found for /
23:14:10 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:10 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:10 (Context.cpp:119) no node found for /
23:14:10 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:10 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:12 (Context.cpp:119) no node found for /AAA
23:14:12 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:12 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:12 (RawFileIO.cpp:191) getAttr error on /i/ki/.priv.enc/k7Ea2fAuGUpj70: No such file or directory
23:14:12 (encfs.cpp:143) getattr error: No such file or directory
23:14:12 (DirNode.cpp:560) mkdir on /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:12 (Context.cpp:119) no node found for /AAA
23:14:12 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:12 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:14 (Context.cpp:119) no node found for /
23:14:14 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:14 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:14 (Context.cpp:119) no node found for /AAA
23:14:14 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:14 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:18 (Context.cpp:119) no node found for /AAA/abc
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:191) getAttr error on /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,: No such file or directory
23:14:18 (encfs.cpp:143) getattr error: No such file or directory
23:14:18 (Context.cpp:119) no node found for /AAA/abc
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (encfs.cpp:259) mknod on /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,, mode 33188, dev 0
23:14:18 (Context.cpp:119) no node found for /AAA/abc
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (Context.cpp:119) no node found for /AAA/abc
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:129) open call for writable file
23:14:18 (RawFileIO.cpp:151) open file with flags 32770, result = 4
23:14:18 (encfs.cpp:574) encfs_open for /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,, flags 32769
23:14:18 (Context.cpp:150) added open node record for /AAA/abc
23:14:18 (encfs.cpp:139) flush /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:129) open call for read only file
23:14:18 (RawFileIO.cpp:136) using existing file descriptor
23:14:18 (encfs.cpp:139) lock /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:129) open call for read only file
23:14:18 (RawFileIO.cpp:136) using existing file descriptor
23:14:18 (Context.cpp:119) no node found for /
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:18 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:18 (Context.cpp:119) no node found for /
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:18 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:18 (Context.cpp:119) no node found for /
23:14:18 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:18 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:18 (encfs.cpp:214) getdir on /i/ki/.priv.enc/
23:14:18 (DirNode.cpp:130) error decoding filename: .encfs5
23:14:18 (encfs.cpp:139) write /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (FileNode.cpp:251) FileNode::write offset 0, data size 823
23:14:18 (CipherFileIO.cpp:204) creating new file IV header
23:14:18 (openssl.cpp:48) Allocating 39 locks for OpenSSL
23:14:18 (CipherFileIO.cpp:232) initHeader finished, fileIV = 11305328951562087834
23:14:18 (encfs.cpp:139) flush /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:129) open call for read only file
23:14:18 (RawFileIO.cpp:136) using existing file descriptor
23:14:18 (encfs.cpp:139) lock /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD,
23:14:18 (RawFileIO.cpp:129) open call for read only file
23:14:18 (RawFileIO.cpp:136) using existing file descriptor
23:14:18 (Context.cpp:168) released open node record for /AAA/abc
23:14:18 (Context.cpp:172) last open node closed for /AAA/abc
23:14:20 (Context.cpp:119) no node found for /
23:14:20 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:20 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:20 (Context.cpp:119) no node found for /AAA
23:14:20 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:20 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:21 (Context.cpp:119) no node found for /
23:14:21 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:21 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:21 (Context.cpp:119) no node found for /
23:14:21 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:21 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:21 (encfs.cpp:214) getdir on /i/ki/.priv.enc/
23:14:21 (DirNode.cpp:130) error decoding filename: .encfs5
23:14:21 (Context.cpp:119) no node found for /AAA
23:14:21 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:21 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:22 (Context.cpp:119) no node found for /
23:14:22 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:22 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:22 (Context.cpp:119) no node found for /
23:14:22 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:22 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:22 (encfs.cpp:214) getdir on /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:22 (Context.cpp:119) no node found for /AAA
23:14:22 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:22 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:22 (Context.cpp:119) no node found for /
23:14:22 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:22 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:34 (Context.cpp:119) no node found for /BBB
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (RawFileIO.cpp:191) getAttr error on /i/ki/.priv.enc/JtrXTK0xU0wHR-: No such file or directory
23:14:34 (encfs.cpp:143) getattr error: No such file or directory
23:14:34 (Context.cpp:119) no node found for /AAA
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:34 (encfs.cpp:139) getattr /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:34 (Context.cpp:119) no node found for /BBB
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (RawFileIO.cpp:191) getAttr error on /i/ki/.priv.enc/JtrXTK0xU0wHR-: No such file or directory
23:14:34 (encfs.cpp:143) getattr error: No such file or directory
23:14:34 (Context.cpp:119) no node found for /BBB
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (RawFileIO.cpp:191) getAttr error on /i/ki/.priv.enc/JtrXTK0xU0wHR-: No such file or directory
23:14:34 (encfs.cpp:143) getattr error: No such file or directory
23:14:34 (DirNode.cpp:599) rename /i/ki/.priv.enc/k7Ea2fAuGUpj70 -> /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (Context.cpp:119) no node found for /BBB
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (DirNode.cpp:606) recursive rename begin
23:14:34 (DirNode.cpp:434) opendir /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:34 (DirNode.cpp:507) adding file /i/ki/.priv.enc/k7Ea2fAuGUpj70/2xSS0o7FqupAD, to rename list
23:14:34 (DirNode.cpp:617) recursive rename end
23:14:34 (Context.cpp:119) no node found for /AAA
23:14:34 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/k7Ea2fAuGUpj70
23:14:34 (DirNode.cpp:699) renaming internal node /i/ki/.priv.enc/k7Ea2fAuGUpj70 -> /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:34 (FileNode.cpp:133) calling setIV on /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (Context.cpp:119) no node found for /
23:14:36 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:36 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:36 (Context.cpp:119) no node found for /
23:14:36 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:36 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:14:36 (Context.cpp:119) no node found for /BBB
23:14:36 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (encfs.cpp:214) getdir on /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (BlockNameIO.cpp:185) padding, _bx, finalSize = 224, 8, -216
23:14:36 (DirNode.cpp:130) error decoding filename: 2xSS0o7FqupAD,
23:14:36 (Context.cpp:119) no node found for /BBB
23:14:36 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:14:36 (Context.cpp:119) no node found for /
23:14:36 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:14:36 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:21:21 (Context.cpp:119) no node found for /BBB
23:21:21 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:21 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:21 (encfs.cpp:97) getxattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:21 (encfs.cpp:97) getxattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:21 (encfs.cpp:214) getdir on /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:21 (BlockNameIO.cpp:185) padding, _bx, finalSize = 224, 8, -216
23:21:21 (DirNode.cpp:130) error decoding filename: 2xSS0o7FqupAD,
23:21:25 (Context.cpp:119) no node found for /
23:21:25 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:21:25 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:21:25 (Context.cpp:119) no node found for /
23:21:25 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:21:25 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:21:25 (Context.cpp:119) no node found for /BBB
23:21:25 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:25 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:25 (encfs.cpp:214) getdir on /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:25 (BlockNameIO.cpp:185) padding, _bx, finalSize = 224, 8, -216
23:21:25 (DirNode.cpp:130) error decoding filename: 2xSS0o7FqupAD,
23:21:25 (Context.cpp:119) no node found for /BBB
23:21:25 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:25 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:25 (Context.cpp:119) no node found for /
23:21:25 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/
23:21:25 (encfs.cpp:139) getattr /i/ki/.priv.enc/
23:21:28 (Context.cpp:119) no node found for /BBB
23:21:28 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (encfs.cpp:214) getdir on /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (BlockNameIO.cpp:185) padding, _bx, finalSize = 224, 8, -216
23:21:28 (DirNode.cpp:130) error decoding filename: 2xSS0o7FqupAD,
23:21:28 (Context.cpp:119) no node found for /BBB
23:21:28 (DirNode.cpp:741) created FileNode for /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (encfs.cpp:139) getattr /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (encfs.cpp:97) rmdir /i/ki/.priv.enc/JtrXTK0xU0wHR-
23:21:28 (encfs.cpp:104) rmdir error: Directory not empty

Valient Gough (vgough)
Changed in encfs:
importance: Undecided → High
Revision history for this message
Valient Gough (vgough) wrote :

Found a problem with the rename function which had been modified in 1.4.0 to fix a separate rename issue. Fixed in SVN.

Changed in encfs:
status: New → Fix Committed
Revision history for this message
Valient Gough (vgough) wrote :

Fix was release in 1.4.1.1

Changed in encfs:
status: Fix Committed → Fix Released
Changed in encfs:
assignee: nobody → rosa maria (rprosamaria383)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.