linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] d_unhashed fixes and cleanup
@ 2016-11-01 15:00 Alexey Lyashkov
  2016-11-01 15:00 ` [PATCH v2 1/2] Re introduces a DCACHE_DENTRY_UNHASHED flag Alexey Lyashkov
  2016-11-01 15:01 ` [PATCH v2 2/2] cleanup of d_unhashed usage Alexey Lyashkov
  0 siblings, 2 replies; 5+ messages in thread
From: Alexey Lyashkov @ 2016-11-01 15:00 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Dilger, Jan Kara, Al Viro

Re introduces a DCACHE_DENTRY_UNHASHED flag to solve a race with checking a
unhashed state vs rename. Bug found while a Cray Lustre testing but looks not a
FS specific, du comment in dcache.h 

> Any filesystem which supports nfsd_operations MUST have a lookup function which,
> if it finds a directory inode with a DCACHE_DISCONNECTED dentry, will d_move
> that dentry into place and return that dentry rather than the passed one, 
> typically using d_splice_alias. *

So potentially any FS will affected.

v2 removed to use a sequence lock from d_unhashed check, due large number
problems while d_unhashed checked with any spinlock hold.

---

Alexey Lyashkov (2):
      rehash process protected with d_seq and d_lock locks, but VFS have access to the
      cleanup of d_unhashed usage.


 fs/configfs/inode.c    |    2 +-
 fs/dcache.c            |   36 ++++++++++++++++++------------------
 fs/nfs/dir.c           |    2 +-
 include/linux/dcache.h |    6 ++++--
 4 files changed, 24 insertions(+), 22 deletions(-)

--

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-11-01 16:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-01 15:00 [PATCH v2 0/2] d_unhashed fixes and cleanup Alexey Lyashkov
2016-11-01 15:00 ` [PATCH v2 1/2] Re introduces a DCACHE_DENTRY_UNHASHED flag Alexey Lyashkov
2016-11-01 15:35   ` kbuild test robot
2016-11-01 16:10   ` kbuild test robot
2016-11-01 15:01 ` [PATCH v2 2/2] cleanup of d_unhashed usage Alexey Lyashkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).