1
linux/fs/ceph
Sage Weil 48d0cbd124 ceph: handle racing calls to ceph_init_dentry
The ->lookup() and prepopulate_readdir() callers are working with unhashed
dentries, so we don't have to worry.  The export.c callers, though, need
to initialize something they got back from d_obtain_alias() and are
potentially racing with other callers.  Make sure we don't return unless
the dentry is properly initialized (by us or someone else).

Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
2011-07-26 11:30:15 -07:00
..
addr.c ceph: use ihold when we already have an inode ref 2011-06-07 21:34:11 -07:00
caps.c ceph: use ihold when we already have an inode ref 2011-06-07 21:34:11 -07:00
ceph_frag.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
debugfs.c ceph: remove debugfs debug cruft 2011-03-21 12:24:20 -07:00
dir.c ceph: handle racing calls to ceph_init_dentry 2011-07-26 11:30:15 -07:00
export.c ceph: use ihold when we already have an inode ref 2011-06-07 21:34:11 -07:00
file.c ceph: fix ceph_lookup_open intent usage 2011-07-26 11:28:11 -07:00
inode.c ceph: set dir complete frag after adding capability 2011-07-26 11:30:02 -07:00
ioctl.c ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io 2011-07-26 11:26:07 -07:00
ioctl.h ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io 2011-07-26 11:26:07 -07:00
Kconfig ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
locks.c ceph: unwind canceled flock state 2011-06-07 21:36:45 -07:00
Makefile ceph: Makefile: Remove unnessary code 2011-01-12 15:15:13 -08:00
mds_client.c ceph: ignore lease mask 2011-07-26 11:28:25 -07:00
mds_client.h ceph: ignore lease mask 2011-07-26 11:28:25 -07:00
mdsmap.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
snap.c ceph: only queue capsnap if caps are dirty 2011-07-26 11:26:41 -07:00
strings.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
super.c ceph: set up readahead size when rsize is not passed 2011-07-26 11:29:14 -07:00
super.h ceph: fix ceph_lookup_open intent usage 2011-07-26 11:28:11 -07:00
xattr.c ceph: use ihold when we already have an inode ref 2011-06-07 21:34:11 -07:00