Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 20 Dec 2014 02:19:19 +0000 (18:19 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 20 Dec 2014 02:19:19 +0000 (18:19 -0800)
Pull vfs pile #3 from Al Viro:
 "Assorted fixes and patches from the last cycle"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  [regression] chunk lost from bd9b51
  vfs: make mounts and mountstats honor root dir like mountinfo does
  vfs: cleanup show_mountinfo
  init: fix read-write root mount
  unfuck binfmt_misc.c (broken by commit e6084d4)
  vm_area_operations: kill ->migrate()
  new helper: iter_is_iovec()
  move_extent_per_page(): get rid of unused w_flags
  lustre: get rid of playing with ->fs
  btrfs: filp_open() returns ERR_PTR() on failure, not NULL...

1  2 
mm/mempolicy.c

diff --combined mm/mempolicy.c
index f22c55947181d87e997b0cadd76c57f36d5a83f8,c1b273f1837bb1aefaf0c4a05783d5f38baa9ead..0e0961b8c39ceb18a7eca485753d1a74c905d353
@@@ -162,6 -162,12 +162,6 @@@ static const struct mempolicy_operation
                        enum mpol_rebind_step step);
  } mpol_ops[MPOL_MAX];
  
 -/* Check that the nodemask contains at least one populated zone */
 -static int is_valid_nodemask(const nodemask_t *nodemask)
 -{
 -      return nodes_intersects(*nodemask, node_states[N_MEMORY]);
 -}
 -
  static inline int mpol_store_user_nodemask(const struct mempolicy *pol)
  {
        return pol->flags & MPOL_MODE_FLAGS;
@@@ -196,7 -202,7 +196,7 @@@ static int mpol_new_preferred(struct me
  
  static int mpol_new_bind(struct mempolicy *pol, const nodemask_t *nodes)
  {
 -      if (!is_valid_nodemask(nodes))
 +      if (nodes_empty(*nodes))
                return -EINVAL;
        pol->v.nodes = *nodes;
        return 0;
@@@ -228,7 -234,7 +228,7 @@@ static int mpol_set_nodemask(struct mem
                nodes = NULL;   /* explicit local allocation */
        else {
                if (pol->flags & MPOL_F_RELATIVE_NODES)
 -                      mpol_relative_nodemask(&nsc->mask2, nodes,&nsc->mask1);
 +                      mpol_relative_nodemask(&nsc->mask2, nodes, &nsc->mask1);
                else
                        nodes_and(nsc->mask2, *nodes, nsc->mask1);
  
@@@ -1041,10 -1047,6 +1041,6 @@@ int do_migrate_pages(struct mm_struct *
  
        down_read(&mm->mmap_sem);
  
-       err = migrate_vmas(mm, from, to, flags);
-       if (err)
-               goto out;
        /*
         * Find a 'source' bit set in 'tmp' whose corresponding 'dest'
         * bit in 'to' is not also set in 'tmp'.  Clear the found 'source'
                if (err < 0)
                        break;
        }
- out:
        up_read(&mm->mmap_sem);
        if (err < 0)
                return err;