On Fri, Nov 09, 2018 at 08:12:39PM -0800, Omar Sandoval wrote: > On Wed, Nov 07, 2018 at 04:28:10PM +0100, David Sterba wrote: > > On Wed, Nov 07, 2018 at 05:07:00PM +0200, Nikolay Borisov wrote: > > > > > > > > > On 7.11.18 г. 16:49 ч., David Sterba wrote: > > > > On Tue, Nov 06, 2018 at 10:54:51AM +0100, David Sterba wrote: > > > >> On Thu, Sep 27, 2018 at 11:17:32AM -0700, Omar Sandoval wrote: > > > >>> From: Omar Sandoval <osandov@xxxxxx> > > > >>> This series implements swap file support for Btrfs. > > > >>> > > > >>> Changes from v8 [1]: > > > >>> > > > >>> - Fixed a bug in btrfs_swap_activate() which would cause us to miss some > > > >>> file extents if they were merged into one extent map entry. > > > >>> - Fixed build for !CONFIG_SWAP. > > > >>> - Changed all error messages to KERN_WARN. > > > >>> - Unindented long error messages. > > > >>> > > > >>> I've Cc'd Jon and Al on patch 3 this time, so hopefully we can get an > > > >>> ack for that one, too. > > > >>> > > > >>> Thanks! > > > >>> > > > >>> 1: https://www.spinics.net/lists/linux-btrfs/msg82267.html > > > >>> > > > >>> Omar Sandoval (6): > > > >>> mm: split SWP_FILE into SWP_ACTIVATED and SWP_FS > > > >>> mm: export add_swap_extent() > > > >>> vfs: update swap_{,de}activate documentation > > > >>> Btrfs: prevent ioctls from interfering with a swap file > > > >>> Btrfs: rename get_chunk_map() and make it non-static > > > >>> Btrfs: support swap files > > > >> > > > >> fstest generic/472 reports an assertion failure. This is on the updated fstests > > > >> git (70c4067285b0bc076), though it should not matter: > > > >> > > > >> [16597.002190] assertion failed: IS_ALIGNED(start, fs_info->sectorsize) && IS_ALIGNED(end + 1, fs_info->sectorsize), file: fs/btrfs/file-item.c, line: 319 > > > > > > > > I have to revert the patch for now as it kills the testing machines. > > > > > > The reason is that the isize is not aligned to a sectorsize. Ie it > > > should be: > > > > > > + u64 isize = ALIGN_DOWN(i_size_read(inode), fs_info->sectorsize); > > > > > > With this fixlet generic/472 succeeds. > > > > Thanks for the fix, I'll fold it in. > > Thanks, Nikolay, I missed that. I don't think i_size_read() is > necessary, though, since the inode is locked. Indeed, i_size used and patch pushed to misc-next.