← Back to team overview

desktop-packages team mailing list archive

[Bug 1305335] Re: Cutting or copying files on btrfs to ecryptfs results in data loss

 

The 3.19 kernel still has the problem.

You can reproduce it by copying a test file from say /home into an
encrypted home directory using --reflink:

echo test > /home/test
cp --reflink=always /home/test ~
ls -l ~/test  # This shows 0 bytes

This command, however, copies the file correctly, assuming you haven't
aliased cp to use reflink:

echo test > /home/test
cp /home/test ~
ls -l ~/test  # This shows 5 bytes

nautilus is using the g_local_file_copy library command in glib, which
since automatically applies reflink since 2.36.4 (libglib2.0-bin is at
2.43.4-1 in Vivid). See the comment at
http://upstream.rosalinux.ru/changelogs/glib/2.36.4/changelog.html,
where it lists "Btrfs clone/reflink ioctl support in g_local_file_copy "
as one of the changes.

So one solution would seem to be to modify the copy functionality to
disable reflink (or disallow the copy) if it detects it is copying into
a mounted ecryptfs directory (eg using /proc/mounts) from a directory
that is not in the same mount.

Presumably ecryptfs intercepts the copy request, so perhaps the check
should be done in ecryptfs?

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nautilus in Ubuntu.
https://bugs.launchpad.net/bugs/1305335

Title:
  Cutting or copying files on btrfs to ecryptfs results in data loss

Status in eCryptfs:
  Confirmed
Status in linux package in Ubuntu:
  Confirmed
Status in nautilus package in Ubuntu:
  Confirmed

Bug description:
  I've installed a fresh copy of 14.04 beta 2 on a brand-new SSD.  I
  used btrfs as the filesystem.

  I set up a Private folder usying ecryptfs-setup-private.

  I copied a few folders into the Private folder, and the entire
  directory structure and subfolders are copied, including the files
  themselves, yet every file contains 0 bytes.

  However, I can create and save new files in the Private directory.
  Also, folders and files can be correctly copied if I use the command line cp -R.

  Thanks,
  Damon

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: nautilus 1:3.10.1-0ubuntu8
  ProcVersionSignature: Ubuntu 3.13.0-23.45-generic 3.13.8
  Uname: Linux 3.13.0-23-generic x86_64
  ApportVersion: 2.14.1-0ubuntu1
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Wed Apr  9 18:12:56 2014
  EcryptfsInUse: Yes
  GsettingsChanges: b'org.gnome.nautilus.list-view' b'default-column-order' b"['name', 'size', 'type', 'date_modified', 'date_accessed', 'owner', 'group', 'permissions', 'mime_type', 'where']"
  InstallationDate: Installed on 2014-04-05 (4 days ago)
  InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326)
  ProcEnviron:
   LANGUAGE=en_CA:en
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_CA.UTF-8
   SHELL=/bin/bash
  SourcePackage: nautilus
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ecryptfs/+bug/1305335/+subscriptions