]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: plug leak of inode refs on seekdir(0)
authorSage Weil <sage@newdream.net>
Tue, 30 Aug 2011 17:33:35 +0000 (10:33 -0700)
committerSage Weil <sage@newdream.net>
Tue, 30 Aug 2011 20:14:56 +0000 (13:14 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/client/Client.cc

index 99cc025517804db82b46a024f3fa44969ae62d0c..d703d5ad978518ef6dd632714b63e711e9f8483c 100644 (file)
@@ -4215,6 +4215,7 @@ void Client::rewinddir(dir_result_t *dirp)
 {
   ldout(cct, 3) << "rewinddir(" << dirp << ")" << dendl;
   dir_result_t *d = (dir_result_t*)dirp;
+  _readdir_drop_dirp_buffer(d);
   d->reset();
 }
  
@@ -4233,6 +4234,7 @@ void Client::seekdir(dir_result_t *dirp, loff_t offset)
   if (offset == 0 ||
       dir_result_t::fpos_frag(offset) != d->frag() ||
       dir_result_t::fpos_off(offset) < d->fragpos()) {
+    _readdir_drop_dirp_buffer(d);
     d->reset();
   }