X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=fs%2Fbtrfs%2Fextent-tree.c;h=424ae82855c8d328f5af660afd9fb3e4ebd7e6a8;hb=877da174301dde9062b915da4c8103048be49702;hp=96cbc5104959d7e49974780b30d9aa2b22b66bca;hpb=f104d044376aadcee74605d66b8d9dc2e145782c;p=firefly-linux-kernel-4.4.55.git diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 96cbc5104959..424ae82855c8 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3343,7 +3343,7 @@ static int shrink_delalloc(struct btrfs_trans_handle *trans, u64 max_reclaim; u64 reclaimed = 0; long time_left; - int nr_pages = (2 * 1024 * 1024) >> PAGE_CACHE_SHIFT; + unsigned long nr_pages = (2 * 1024 * 1024) >> PAGE_CACHE_SHIFT; int loops = 0; unsigned long progress; @@ -3366,7 +3366,8 @@ static int shrink_delalloc(struct btrfs_trans_handle *trans, } max_reclaim = min(reserved, to_reclaim); - + nr_pages = max_t(unsigned long, nr_pages, + max_reclaim >> PAGE_CACHE_SHIFT); while (loops < 1024) { /* have the flusher threads jump in and do some IO */ smp_mb();