1. 22 3月, 2012 1 次提交
  2. 13 1月, 2012 1 次提交
  3. 12 1月, 2012 1 次提交
    • A
      ceph: always initialize the dentry in open_root_dentry() · d46cfba5
      Alex Elder 提交于
      When open_root_dentry() gets a dentry via d_obtain_alias() it does
      not get initialized.  If the dentry obtained came from the cache,
      this is OK.  But if not, the result is an improperly initialized
      dentry.
      
      To fix this, call ceph_init_dentry() regardless of which path
      produced the dentry.  That function returns immediately for a dentry
      that is already initialized, it is safe to use either way.
      
      (Credit to Sage, who suggested this fix.)
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      d46cfba5
  4. 10 1月, 2012 1 次提交
  5. 07 1月, 2012 1 次提交
  6. 03 12月, 2011 1 次提交
  7. 12 11月, 2011 1 次提交
    • S
      ceph: initialize root dentry · 774ac21d
      Sage Weil 提交于
      Set up d_fsdata on the root dentry.  This fixes a NULL pointer dereference
      in ceph_d_prune on umount.  It also means we can eventually strip out all
      of the conditional checks on d_fsdata because it is now set unconditionally
      (prior to setting up the d_ops).
      
      Fix the ceph_d_prune debug print while we're here.
      Signed-off-by: NSage Weil <sage@newdream.net>
      774ac21d
  8. 06 11月, 2011 1 次提交
  9. 26 10月, 2011 3 次提交
  10. 23 8月, 2011 1 次提交
  11. 27 7月, 2011 2 次提交
  12. 30 3月, 2011 1 次提交
  13. 22 3月, 2011 2 次提交
  14. 20 1月, 2011 1 次提交
  15. 13 1月, 2011 2 次提交
    • T
      ceph: fsc->*_wq's aren't used in memory reclaim path · 01e6acc4
      Tejun Heo 提交于
      fsc->*_wq's aren't depended upon during memory reclaim.  Convert to
      alloc_workqueue() w/o WQ_MEM_RECLAIM.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Sage Weil <sage@newdream.net>
      Cc: ceph-devel@vger.kernel.org
      Signed-off-by: NSage Weil <sage@newdream.net>
      01e6acc4
    • S
      ceph: implement DIRLAYOUTHASH feature to get dir layout from MDS · 14303d20
      Sage Weil 提交于
      This implements the DIRLAYOUTHASH protocol feature, which passes the dir
      layout over the wire from the MDS.  This gives the client knowledge
      of the correct hash function to use for mapping dentries among dir
      fragments.
      
      Note that if this feature is _not_ present on the client but is on the
      MDS, the client may misdirect requests.  This will result in a forward
      and degrade performance.  It may also result in inaccurate NFS filehandle
      generation, which will prevent fh resolution when the inode is not present
      in the client cache and the parent directories have been fragmented.
      Signed-off-by: NSage Weil <sage@newdream.net>
      14303d20
  16. 29 10月, 2010 1 次提交
  17. 21 10月, 2010 1 次提交
    • Y
      ceph: factor out libceph from Ceph file system · 3d14c5d2
      Yehuda Sadeh 提交于
      This factors out protocol and low-level storage parts of ceph into a
      separate libceph module living in net/ceph and include/linux/ceph.  This
      is mostly a matter of moving files around.  However, a few key pieces
      of the interface change as well:
      
       - ceph_client becomes ceph_fs_client and ceph_client, where the latter
         captures the mon and osd clients, and the fs_client gets the mds client
         and file system specific pieces.
       - Mount option parsing and debugfs setup is correspondingly broken into
         two pieces.
       - The mon client gets a generic handler callback for otherwise unknown
         messages (mds map, in this case).
       - The basic supported/required feature bits can be expanded (and are by
         ceph_fs_client).
      
      No functional change, aside from some subtle error handling cases that got
      cleaned up in the refactoring process.
      Signed-off-by: NSage Weil <sage@newdream.net>
      3d14c5d2
  18. 04 8月, 2010 1 次提交
  19. 02 8月, 2010 5 次提交
  20. 11 6月, 2010 1 次提交
  21. 02 6月, 2010 1 次提交
    • S
      ceph: fix f_namelen reported by statfs · 558d3499
      Sage Weil 提交于
      We were setting f_namelen in kstatfs to PATH_MAX instead of NAME_MAX.
      That disagrees with ceph_lookup behavior (which checks against NAME_MAX),
      and also makes the pjd posix test suite spit out ugly errors because with
      can't clean up its temporary files.
      Signed-off-by: NSage Weil <sage@newdream.net>
      558d3499
  22. 30 5月, 2010 2 次提交
    • S
      ceph: close out mds, osd connections before stopping auth · a922d38f
      Sage Weil 提交于
      The auth module (part of the mon_client) is needed to free any
      ceph_authorizer(s) used by the mds and osd connections.  Flush the msgr
      workqueue before stopping monc to ensure that the destroy_authorizer
      auth op is available when those connections are closed out.
      Signed-off-by: NSage Weil <sage@newdream.net>
      a922d38f
    • J
      fs/ceph: Use ERR_CAST · 7e34bc52
      Julia Lawall 提交于
      Use ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more
      clear what is the purpose of the operation, which otherwise looks like a
      no-op.
      
      In the case of fs/ceph/inode.c, ERR_CAST is not needed, because the type of
      the returned value is the same as the type of the enclosing function.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      type T;
      T x;
      identifier f;
      @@
      
      T f (...) { <+...
      - ERR_PTR(PTR_ERR(x))
      + x
       ...+> }
      
      @@
      expression x;
      @@
      
      - ERR_PTR(PTR_ERR(x))
      + ERR_CAST(x)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NSage Weil <sage@newdream.net>
      7e34bc52
  23. 22 5月, 2010 1 次提交
  24. 18 5月, 2010 6 次提交
  25. 05 5月, 2010 1 次提交