linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/4] move layout get/return synchronization to rpc prepare
@ 2010-09-14 10:52 Benny Halevy
  2010-09-14 10:53 ` [PATCH 1/4] SQUASHME: pnfs-post-submit: remove take_ref and only_valid params from pnfs_has_layout Benny Halevy
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Benny Halevy @ 2010-09-14 10:52 UTC (permalink / raw)
  To: NFS list

The following patchset introduces a per-inode rpc wait queue
to be used to synchronize layout gets and returns during
their respective rpc prepare phase.

Essentially, layout gets wait on layout segments marked as invalid,
currently meaning there is a layout return in progress.
It should be ok to send the layout get anyway but waiting avoids
the race rather than having to possibly resolve it on the done path.

In the future layout gets could insert the layout segment they ask
for as "invalid" so that parallel layout gets would wait too.
However, since the server may return a different segment than
requested (bigger or smaller), there's no guarantee that the
parallel layoutget will overlap the one in progress.

Layout returns wait on layout segments while they are being used
(e.g. for I/O operations).

[PATCH 1/4] SQUASHME: pnfs-post-submit: remove take_ref and only_valid params from pnfs_has_layout
[PATCH 2/4] pnfs: allow nfs4_proc_layoutget to sleep on invalid lsegs
[PATCH 3/4] pnfs: allow nfs4_proc_layoutreturn to sleep on barrier
[PATCH 4/4] SQUASHME: pnfs: get rid of lo_waitq

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

end of thread, other threads:[~2010-09-14 13:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-14 10:52 [RFC 0/4] move layout get/return synchronization to rpc prepare Benny Halevy
2010-09-14 10:53 ` [PATCH 1/4] SQUASHME: pnfs-post-submit: remove take_ref and only_valid params from pnfs_has_layout Benny Halevy
2010-09-14 10:53 ` [PATCH 2/4] pnfs: allow nfs4_proc_layoutget to sleep on invalid lsegs Benny Halevy
2010-09-14 12:00   ` Fred Isaman
2010-09-14 12:40     ` Benny Halevy
2010-09-14 12:47       ` Fred Isaman
2010-09-14 13:13         ` Benny Halevy
2010-09-14 10:53 ` [PATCH 3/4] pnfs: allow nfs4_proc_layoutreturn to sleep on barrier Benny Halevy
2010-09-14 10:53 ` [PATCH 4/4] SQUASHME: pnfs: get rid of lo_waitq Benny Halevy

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