linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* breaking leases on metadata changes
@ 2011-09-21 14:58 J. Bruce Fields
       [not found] ` <1316617097-21384-1-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
                   ` (5 more replies)
  0 siblings, 6 replies; 25+ messages in thread
From: J. Bruce Fields @ 2011-09-21 14:58 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: linux-nfs, samba-technical, Christoph Hellwig, Al Viro,
	Mimi Zohar

So there's this longstanding problem that read leases should really be
broken on anything that changes an inode's metadata or any change to the
set of links pointing to the inode.

(Cc'ing samba-technical for confirmation of that statement from Samba's
point of view....)

So we need mutual exclusion between read leases and link, unlink,
rename, etc.

After contemplating increasingly complicated solutions for much too
long, I realized that the i_mutex is taken by all of those operations
except for rename--and it looks to me like rename could take i_mutex on
a renamed file as well.

So, here's my attempt.  It passes some simple tests.  Is it sane?

I tried updating Documentation/filesystems/directory-locking to reflect
the rename change, but without thinking it through as carefully as I'd
like to.

Also, the one thing I *know* is wrong: lockdep doesn't like the rename
change, and I haven't tried to figure out how to fix it.  (Help?)

These patches assume some previous lease fixes already committed to

	git://linux-nfs.org/~bfields/linux.git for-3.2

--b.

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

end of thread, other threads:[~2011-10-28  8:46 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-21 14:58 breaking leases on metadata changes J. Bruce Fields
     [not found] ` <1316617097-21384-1-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-09-21 14:58   ` [PATCH 1/6] leases: split up generic_setlease into lock/unlock cases J. Bruce Fields
2011-09-22 17:16     ` Mimi Zohar
     [not found]       ` <1316711774.3159.52.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2011-09-23 18:57         ` J. Bruce Fields
2011-09-21 14:58   ` [PATCH 5/6] leases: break leases on any attribute modification J. Bruce Fields
2011-09-21 15:35     ` J. Bruce Fields
2011-09-21 14:58 ` [PATCH 2/6] leases: fix write-open/read-lease race J. Bruce Fields
2011-09-21 15:01   ` J. Bruce Fields
2011-09-22 17:17     ` Mimi Zohar
     [not found]   ` <1316617097-21384-3-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-10-10 21:59     ` J. Bruce Fields
2011-10-11  6:19       ` Need information about the net ads user command Pankaj Baranwal
     [not found]       ` <20111010215911.GC17936-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2011-10-28  8:46         ` [PATCH 2/6] leases: fix write-open/read-lease race J. Bruce Fields
2011-09-21 14:58 ` [PATCH 3/6] leases: break read leases on unlink J. Bruce Fields
     [not found]   ` <1316617097-21384-4-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-09-21 15:02     ` Christoph Hellwig
     [not found]       ` <20110921150241.GA11452-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2011-09-21 17:41         ` J. Bruce Fields
2011-09-21 14:58 ` [PATCH 4/6] leases: break read leases on rename J. Bruce Fields
     [not found]   ` <1316617097-21384-5-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-09-22 17:17     ` Mimi Zohar
2011-09-23 16:55       ` J. Bruce Fields
     [not found]         ` <20110923165510.GA807-spRCxval1Z7TsXDwO4sDpg@public.gmane.org>
2011-09-23 18:55           ` J. Bruce Fields
2011-09-23 19:58         ` Mimi Zohar
2011-09-23 20:13           ` J. Bruce Fields
2011-09-21 14:58 ` [PATCH 6/6] leases: break read leases on link J. Bruce Fields
2011-09-24 18:36 ` breaking leases on metadata changes Stefan (metze) Metzmacher
2011-09-26 14:10   ` J. Bruce Fields
2011-09-26 16:16     ` J. Bruce Fields

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).