Re: rm directory slow, client read it local cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 20 Jul 2011, huang jun wrote:
> hi,all
> we do test about "rm directories" repeatedly, and the result confused us a lot.
> build ceph v0.30 on linux-2.6.37
> folllow below steps:
> $ mount -t ceph 192.168.0.11:/ /mnt
> $ mkdir /mnt/a
> $ cd /mnt
> $ rm -rf a
> from the kernel client debug log, in the process "readdir a", we can't
> read directory "a" in client's cache,
>  trace to  soruce code , we find "(ci->i_ceph_flags &
> CEPH_I_COMPLETE)" is false, so client can't do "__dcache_readdir"
> function(Dir.c line 262),which was used to read data from cache.
> so client sends a request to MDS to get infomation of dir "a", that
> consumes much time, we can not tolerate if it needs 10s to remove 10
> dirs. we are not clear that why client can't read dir "a" from it
> local cache?

This is blocked by the addition of a d_prune dentry operation in the 
upstream kernel.  Hopefully that will get merged during this next window.  
See my July 8 email to linux-fsdevel and LKML.

Previously we were hooked into the d_release callback, but that was racy: 
it was possible for ceph to think the directory was complete when in fact 
it was not.  ->d_prune() will fix that when it's merged and this 
capability will get turned back on.

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux