public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2]v2 configfs: symlink() fixes
@ 2008-06-23 12:16 Louis Rilling
  2008-06-23 12:16 ` [PATCH 1/2] configfs: Fix symlink() to a removing item Louis Rilling
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Louis Rilling @ 2008-06-23 12:16 UTC (permalink / raw)
  To: Joel.Becker; +Cc: linux-kernel, ocfs2-devel, Louis Rilling

[ applies on top of the previously submitted rename() vs rmdir() deadlock fix ]

Hi,

The following patchset fixes incorrect symlinks to dead items in configfs, which
are forbidden by specification.

The first patch actually prevents such dangling symlinks from being created, but
introduces a weird(?) behavior where a failing symlink() can make a racing
rmdir() fail in the symlink's parent and in the symlink's target as well. This
behavior is fixed with the next patch.

Changelog:
  - fix error code when symlink's target is being removed
  - re-implemented the weird(?) behavior fix in a way that does not temporarily
    instantiate the new symlink in the VFS.

Summary:
  configfs: Fix symlink() to a removing item
  configfs: Fix failing symlink() making rmdir() fail

 fs/configfs/configfs_internal.h |    1 +
 fs/configfs/dir.c               |   24 +++++++++++++++++-------
 fs/configfs/symlink.c           |   14 +++++++++++++-
 3 files changed, 31 insertions(+), 8 deletions(-)

-- 
Dr Louis Rilling			Kerlabs
Skype: louis.rilling			Batiment Germanium
Phone: (+33|0) 6 80 89 08 23		80 avenue des Buttes de Coesmes
http://www.kerlabs.com/			35700 Rennes

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

end of thread, other threads:[~2008-06-24 17:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-23 12:16 [PATCH 0/2]v2 configfs: symlink() fixes Louis Rilling
2008-06-23 12:16 ` [PATCH 1/2] configfs: Fix symlink() to a removing item Louis Rilling
2008-06-23 12:16 ` [PATCH 2/2] configfs: Fix failing symlink() making rmdir() fail Louis Rilling
2008-06-23 22:20 ` [PATCH 0/2]v2 configfs: symlink() fixes Joel Becker
2008-06-24 13:20   ` Louis Rilling
2008-06-24 17:04     ` Joel Becker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox