Hi,

looking at the code, and running with debug mds = 10 it looks like I have an 
inode with negative link count.

    -2> 2017-09-14 13:28:39.249399 7f3919616700 10 mds.0.cache.strays 
eval_stray [dentry #100/stray7/100007aa2f6 [2,head] auth (dversion lock) pv=0 
v=23058565 inode=0x7f394b7e0730 0x7f3945a96270]
    -1> 2017-09-14 13:28:39.249445 7f3919616700 10 mds.0.cache.strays  inode is 
[inode 100007aa2f6 [2,head] ~mds0/stray7/100007aa2f6 auth v23057120 s=4476488 
nl=-1 n(v0 b4476488 1=1+0) (iversion lock) 0x7f394b7e

I guess "nl" stands for number of links.

The code in StrayManager.cc checks for:

if (in->inode.nlink == 0) { ... }
else {
        eval_remote_stray(dn, NULL);
}

void StrayManager::eval_remote_stray(CDentry *stray_dn, CDentry *remote_dn)
{
...
assert(stray_in->inode.nlink >= 1);
...
}

So if my link count is indeed -1 ceph will die here.


The question is: how can I get rid of this inode?


Micha Krause
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to