1. 04 3月, 2010 1 次提交
    • A
      Kill CL_PROPAGATION, sanitize fs/pnode.c:get_source() · 796a6b52
      Al Viro 提交于
      First of all, get_source() never results in CL_PROPAGATION
      alone.  We either get CL_MAKE_SHARED (for the continuation
      of peer group) or CL_SLAVE (slave that is not shared) or both
      (beginning of peer group among slaves).  Massage the code to
      make that explicit, kill CL_PROPAGATION test in clone_mnt()
      (nothing sets CL_MAKE_SHARED without CL_PROPAGATION and in
      clone_mnt() we are checking CL_PROPAGATION after we'd found
      that there's no CL_SLAVE, so the check for CL_MAKE_SHARED
      would do just as well).
      
      Fix comments, while we are at it...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      796a6b52
  2. 23 4月, 2008 2 次提交
  3. 22 4月, 2008 2 次提交
  4. 28 3月, 2008 1 次提交
  5. 07 2月, 2008 1 次提交
    • A
      MNT_UNBINDABLE fix · 0b03cfb2
      Andries E. Brouwer 提交于
      Some time ago ( http://lkml.org/lkml/2007/6/19/128 ) I wrote about
      MNT_UNBINDABLE that it felt like a bug that it is not reset by "mount
      --make-private".
      
      Today I happened to see mount(8) and Documentation/sharedsubtree.txt and
      both document the version obtained by applying the little patch given in
      the above (and again below).
      
      So, the present kernel code is not according to specs and must be regarded
      as buggy.
      
      Specification in Documentation/sharedsubtree.txt:
      See state diagram: unbindable should become private upon make-private.
      
      Specification in mount(8):
          ...  It's
          also possible to  set  up  uni-directional  propagation  (with  --make-
          slave),  to  make  a  mount  point unavailable for --bind/--rbind (with
          --make-unbindable), and to undo any  of  these  (with  --make-private).
      
      Repeat of old fix-shared-subtrees-make-private.patch
      (due to Dirk Gerrits, René Gabriëls, Peter Kooijmans):
      Acked-by: NRam Pai <linuxram@us.ibm.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0b03cfb2
  6. 09 5月, 2007 1 次提交
    • P
      Introduce a handy list_first_entry macro · b5e61818
      Pavel Emelianov 提交于
      There are many places in the kernel where the construction like
      
         foo = list_entry(head->next, struct foo_struct, list);
      
      are used.
      The code might look more descriptive and neat if using the macro
      
         list_first_entry(head, type, member) \
                   list_entry((head)->next, type, member)
      
      Here is the macro itself and the examples of its usage in the generic code.
       If it will turn out to be useful, I can prepare the set of patches to
      inject in into arch-specific code, drivers, networking, etc.
      Signed-off-by: NPavel Emelianov <xemul@openvz.org>
      Signed-off-by: NKirill Korotaev <dev@openvz.org>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Zach Brown <zach.brown@oracle.com>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Cc: John McCutchan <ttb@tentacle.dhs.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b5e61818
  7. 09 12月, 2006 1 次提交
  8. 27 6月, 2006 1 次提交
  9. 24 3月, 2006 1 次提交
  10. 09 1月, 2006 1 次提交
  11. 08 11月, 2005 7 次提交