Encrypted Filesystem for Linux

rename failure

Reported by Valient Gough on 2008-01-15
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) on 2008-01-15
Changed in encfs:
importance: Undecided → High
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
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  Edit
Everyone can see this information.

Other bug subscribers