On Tue, Mar 29, 2016 at 07:04:10PM -1000, Jean-Denis Girard wrote:
> Hi list,
> 
> I just started to use send / receive for backups to another drive.
> That's a great feature, but unfortunately I'm getting page allocation
> failure, see below.
> 
> My backup script does something like this for 11 sub-volumes:
>   btrfs subvolume snapshot -r vol /snaps
>   btrfs fi sync /snaps
>   btrfs send -p /snaps/vol_old /snaps/vol | btrfs receive -v /mnt/backup
>   btrfs fi sync /mnt/backup
>   btrfs subvolume delete -c /snaps/vol_old
>   mv /snaps/vol /snaps/vol_old
>   btrfs subvolume delete -c /backup/vol_old
>   btrfs subvolume snapshot -r :backup/vol \
>       /backup/vol_$(date +'%Y%m%d')
>   btrfs fi sync /backup
>   mv /backup/vol /backup/vol_old
> 
> This is on a up-to-date Fedora 23 system, with kernel
> 4.4.6-300.fc23.x86_64, and btrfs-progs v4.4.1 (recompiled on the
> system). The system is mostly idle when the error happens. The backup
> file system seems clean: btrfs check or scrub report no errors.
> 
> [ 3734.651439] btrfs: page allocation failure: order:4, mode:0x2404040

Order 4 is 64k, and most probably it's the allocation of a nodesize, the
IP offset in the function is close to beginning, there are two other
allocations that are served from the slab.

So do you have a filesystem with a 64k nodesize? Just checking.

The memory is fragmented so a contiguous 64k cannot be found, what we
can do is a fallback to vmalloc, that can assemble th 64k memory from
smaller pages. I'll send a patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to