On Thu, 2014-02-20 at 19:41 +0800, Ian Kent wrote: > > > > 1969 (gdb) print *(struct dentry *) 0xffff88007fd06c50 > > 1970 $3 = {d_flags = 1523840, d_seq = {sequence = 4}, d_hash = {next = 0xffff880214025c98, pprev = 0xffffc9000013d570}, d_parent = 0xffff8800caa66810, d_name = {{{hash = 1876415966, len = 7}, hash_len = 31941187038}, name = 0xffff88007fd06c88 "gbrowse"}, d_inode = 0xffff8800961ad250, d_iname = "gbrowse", '\000' <repeats 24 times>, d_lockref = {{lock_count = 8610971969, { > > 1971 lock = {{rlock = {raw_lock = {{head_tail = 21037377, tickets = {head = 321, tail = 321}}}}}}, count = 2}}}, d_op = 0xffffffff81c45b40, d_sb = 0xffff880222a33800, d_time = 0, d_fsdata = 0xffff8800ca443b80, d_lru = {next = 0xffff88007fd06cd0, prev = 0xffff88007fd06cd0}, d_u = {d_child = {next = 0xffff88007fc9f420, prev = 0xffff8800caa668b0}, d_rcu = { > > 1972 next = 0xffff88007fc9f420, func = 0xffff8800caa668b0}}, d_subdirs = {next = 0xffff88007fd06cf0, prev = 0xffff88007fd06cf0}, d_alias = {next = 0x0, pprev = 0xffff8800961ad360}} I wonder if there's a struct mount for which this dentry is mnt_mountpoint and if so what the value of m_count is for the struct mountpoint of the struct mount? Oh boy ... this stuff has changed so much. It does look like mount->mountpoint->m_mount controls the setting and clearing of DCACHE_MOUNTED. If there is and m_count is non-zero then there may be a reference counting problem somewhere or some other weirdness. Be worth looking at the mount struct and it's neighbors if you can find it. > > > > > > which is 0x174080 which is > > > > DCACHE_RCUACCESS+ > > DCACHE_FSNOTIFY_PARENT_WATCHED+ > > DCACHE_MOUNTED+ > > DCACHE_NEED_AUTOMOUNT+ > > DCACHE_MANAGE_TRANSIT+ > > DCACHE_DIRECTORY_TYPE > > > > so again we have DCACHE_MOUNTED but no mount ( line 1753ff ) > > Ian -- To unsubscribe from this list: send the line "unsubscribe autofs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html