1. 06 12月, 2012 1 次提交
  2. 19 5月, 2011 2 次提交
    • S
      cifs: Change key name to cifs.idmap, misc. clean-up · c4aca0c0
      Shirish Pargaonkar 提交于
      Change idmap key name from cifs.cifs_idmap to cifs.idmap.
      Removed unused structure wksidarr and function match_sid().
      Handle errors correctly in function init_cifs().
      Signed-off-by: NShirish Pargaonkar <shirishpargaonkar@gmail.com>
      Reviewed-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      c4aca0c0
    • S
      cifs: Invoke id mapping functions (try #17 repost) · 9409ae58
      Shirish Pargaonkar 提交于
      rb tree search and insertion routines.
      
      A SID which needs to be mapped, is looked up in one of the rb trees
      depending on whether SID is either owner or group SID.
      If found in the tree, a (mapped) id from that node is assigned to
      uid or gid as appropriate.  If unmapped, an upcall is attempted to
      map the SID to an id.  If upcall is successful, node is marked as
      mapped.  If upcall fails, node stays marked as unmapped and a mapping
      is attempted again only after an arbitrary time period has passed.
      
      To map a SID, which can be either a Owner SID or a Group SID, key
      description starts with the string "os" or "gs" followed by SID converted
      to a string. Without "os" or "gs", cifs.upcall does not know whether
      SID needs to be mapped to either an uid or a gid.
      
      Nodes in rb tree have fields to prevent multiple upcalls for
      a SID.  Searching, adding, and removing nodes is done within global locks.
      Whenever a node is either found or inserted in a tree, a reference
      is taken on that node.
      Shrinker routine prunes a node if it has expired but does not prune
      an expired node if its refcount is not zero (i.e. sid/id of that node
      is_being/will_be accessed).
      Thus a node, if its SID needs to be mapped by making an upcall,
      can safely stay and its fields accessed without shrinker pruning it.
      A reference (refcount) is put on the node without holding the spinlock
      but a reference is get on the node by holding the spinlock.
      
      Every time an existing mapped node is accessed or mapping is attempted,
      its timestamp is updated to prevent it from getting erased or a
      to prevent multiple unnecessary repeat mapping retries respectively.
      
      For now, cifs.upcall is only used to map a SID to an id (uid or gid) but
      it would be used to obtain an SID for an id.
      Signed-off-by: NShirish Pargaonkar <shirishpargaonkar@gmail.com>
      Reviewed-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      9409ae58
  3. 07 12月, 2010 1 次提交
  4. 10 4月, 2008 1 次提交
  5. 06 11月, 2007 1 次提交
  6. 26 10月, 2007 1 次提交
  7. 24 10月, 2007 1 次提交
  8. 18 10月, 2007 1 次提交
  9. 17 10月, 2007 1 次提交
  10. 15 10月, 2007 1 次提交
  11. 12 10月, 2007 1 次提交
  12. 04 10月, 2007 1 次提交
  13. 02 10月, 2007 1 次提交
  14. 26 9月, 2007 1 次提交
  15. 25 9月, 2007 1 次提交
  16. 29 9月, 2006 1 次提交
  17. 14 1月, 2006 1 次提交
  18. 09 1月, 2006 1 次提交
  19. 02 12月, 2005 1 次提交
  20. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4