All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 0/6][cr]: Checkpoint/restart file locks and leases
@ 2010-05-05  5:30 Sukadev Bhattiprolu
  2010-05-05  5:30 ` [RFC][cr][PATCH 1/6] Move file_lock macros into linux/fs.h Sukadev Bhattiprolu
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Sukadev Bhattiprolu @ 2010-05-05  5:30 UTC (permalink / raw)
  To: Oren Laadan; +Cc: Containers, linux-fsdevel, serue, matthltc, sukadev


This patchset is an early draft of checkpoint/restart of file-locks/leases.

This patchset applies on top of the ckpt-v21-rc7 branch of the Checkpoint/
restart git tree (see http://ckpt.wiki.kernel.org for details).

To checkpoint/restart file-locks and leases we find each lock/lease held
by each fd of the process and save the information about the lock/lease
in the checkpoint-image. When restarting, each process reacquires the
locks it held at checkpoint. When all processes have acquired the locks
one-by-one, the entire process tree is allowed to execute. Any processes
blocked on a lock at the time of checkpoint, restart their system call
and end up blocking on the lock again after the restart.

Checkpoint/restart of file-leases, specially the leases that are being
revoked appear to be more tricky - Patch 6/6 has the details.

	[PATCH  1/6] Move file_lock macros into linux/fs.h
	[PATCH  2/6] Checkpoint file-locks
	[PATCH  3/6] Define flock_set()
	[PATCH  4/6] Restore file-locks
	[PATCH  5/6] Define do_setlease()
	[PATCH  6/6] Checkpoint/restart file leases

This patchset has been gently tested with a few C/R testcases and needs
more testing. Pls let me know your comments or if there are semantics that
might change. Patch 6 identifies a couple of semantics for leases and
suggests a way to preserve them. But maybe there is a cleaner/easier way
to do so.

Note:
	For consistency with current uses of for_each_lock(), this patchset
	uses lock_kernel(), but not sure yet if it is required. 

Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 14+ messages in thread
[parent not found: <1273023883-19264-1-git-send-email-Sukadev>]

end of thread, other threads:[~2010-05-05  5:32 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-05  5:30 [RFC][PATCH 0/6][cr]: Checkpoint/restart file locks and leases Sukadev Bhattiprolu
2010-05-05  5:30 ` [RFC][cr][PATCH 1/6] Move file_lock macros into linux/fs.h Sukadev Bhattiprolu
2010-05-05  5:31 ` [RFC][cr][PATCH 2/6] Checkpoint file-locks Sukadev Bhattiprolu
2010-05-05  5:31 ` [RFC][cr][PATCH 3/6] Define flock_set() Sukadev Bhattiprolu
2010-05-05  5:31 ` [RFC][cr][PATCH 4/6] Restore file-locks Sukadev Bhattiprolu
2010-05-05  5:32 ` [RFC][cr][PATCH 5/6] Define do_setlease() Sukadev Bhattiprolu
2010-05-05  5:32 ` [RFC][cr][PATCH 6/6] Checkpoint/restart file leases Sukadev Bhattiprolu
     [not found] ` <20100505053016.GA20483-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-05-05  5:30   ` [RFC][cr][PATCH 1/6] Move file_lock macros into linux/fs.h Sukadev Bhattiprolu
2010-05-05  5:31   ` [RFC][cr][PATCH 2/6] Checkpoint file-locks Sukadev Bhattiprolu
2010-05-05  5:31   ` [RFC][cr][PATCH 3/6] Define flock_set() Sukadev Bhattiprolu
2010-05-05  5:31   ` [RFC][cr][PATCH 4/6] Restore file-locks Sukadev Bhattiprolu
2010-05-05  5:32   ` [RFC][cr][PATCH 5/6] Define do_setlease() Sukadev Bhattiprolu
2010-05-05  5:32   ` [RFC][cr][PATCH 6/6] Checkpoint/restart file leases Sukadev Bhattiprolu
     [not found] <1273023883-19264-1-git-send-email-Sukadev>
     [not found] ` <1273023883-19264-4-git-send-email-Sukadev>
2010-05-05  2:49   ` [RFC][cr][PATCH 4/6] Restore file-locks Matt Helsley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.