Files
linux-apfs/fs
Sage Weil 9358c6d4c0 ceph: fix dentry rehashing on virtual .snap dir
If a lookup fails on the magic .snap directory, we bind it to a magic
snap directory inode in ceph_lookup_finish().  That code assumes the dentry
is unhashed, but a recent server-side change started returning NULL leases
on lookup failure, causing the .snap dentry to be hashed and NULL by
ceph_fill_trace().

This causes dentry hash chain corruption, or a dies when d_rehash()
includes
	BUG_ON(!d_unhashed(entry));

So, avoid processing the NULL dentry lease if it the dentry matches the
snapdir name in ceph_fill_trace().  That allows the lookup completion to
properly bind it to the snapdir inode.  BUG there if dentry is hashed to
be sure.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-03-30 13:55:22 -07:00
..
2010-03-22 09:57:19 -07:00
2010-02-07 03:06:21 -05:00
2010-01-14 09:05:42 -05:00
2010-01-19 22:36:06 -06:00
2010-03-29 21:14:52 +02:00
2010-02-19 03:35:12 -05:00
2010-03-17 18:43:47 -07:00
2010-03-24 16:31:22 -07:00
2010-01-26 22:22:26 -05:00
2010-03-12 15:52:35 -08:00
2009-12-16 07:20:13 -08:00
2010-03-06 11:26:29 -08:00
2010-03-06 11:26:29 -08:00
2010-03-08 16:55:37 +01:00
2010-03-12 15:52:32 -08:00
2010-03-03 14:13:08 -05:00
2009-12-17 04:52:13 -05:00
2010-03-06 11:26:29 -08:00
2010-03-06 11:26:29 -08:00
2010-03-03 14:07:59 -05:00
2010-03-08 16:55:37 +01:00
2009-12-17 10:51:40 -05:00
2010-03-12 15:52:32 -08:00
2010-03-03 14:08:00 -05:00
2009-12-16 12:16:49 -05:00