[Bug 2721] New: Improve SFTP server to make remove always work on ZFS/Btrfs

bugzilla-daemon at bugzilla.mindrot.org bugzilla-daemon at bugzilla.mindrot.org
Tue May 23 16:51:09 AEST 2017


            Bug ID: 2721
           Summary: Improve SFTP server to make remove always work on
           Product: Portable OpenSSH
           Version: 7.5p1
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: P5
         Component: sftp-server
          Assignee: unassigned-bugs at mindrot.org
          Reporter: walteste at inf.ethz.ch

The code in process_remove() in sftp-server.c just tries a simple
unlink for the file to be deleted. This does not work well on ZFS or
Btrfs if the filesystem/pool is completely full, which is a well known
problem of CoW filesystems. See here ofr instance:


Trying to delete a file on a full filesystem just fails:

sftp> rm some_file
Removing /full/some_file
Couldn't delete file: Failure

The trick is to first do a truncate() on a file containing data to free
up data blocks. In this case, truncating the file to be deleted before
the unlink() would solve the problem.

You are receiving this mail because:
You are watching the assignee of the bug.

More information about the openssh-bugs mailing list