1. 23 4月, 2008 1 次提交
    • M
      [patch 4/7] vfs: mountinfo: add mount peer group ID · 719f5d7f
      Miklos Szeredi 提交于
      Add a unique ID to each peer group using the IDR infrastructure.  The
      identifiers are reused after the peer group dissolves.
      
      The IDR structures are protected by holding namepspace_sem for write
      while allocating or deallocating IDs.
      
      IDs are allocated when a previously unshared vfsmount becomes the
      first member of a peer group.  When a new member is added to an
      existing group, the ID is copied from one of the old members.
      
      IDs are freed when the last member of a peer group is unshared.
      
      Setting the MNT_SHARED flag on members of a subtree is done as a
      separate step, after all the IDs have been allocated.  This way an
      allocation failure can be cleaned up easilty, without affecting the
      propagation state.
      
      Based on design sketch by Al Viro.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      719f5d7f
  2. 22 4月, 2008 2 次提交
  3. 28 3月, 2008 1 次提交
  4. 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
  5. 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
  6. 09 12月, 2006 1 次提交
  7. 27 6月, 2006 1 次提交
  8. 24 3月, 2006 1 次提交
  9. 09 1月, 2006 1 次提交
  10. 08 11月, 2005 7 次提交