Checklist/Inotify

From Linux Checkpoint / Restart Wiki
(Difference between revisions)
Jump to: navigation, search
m
 
(4 intermediate revisions by one user not shown)
Line 1: Line 1:
 
== Current Status ==
 
== Current Status ==
  
Any task using inotify will cause sys_checkpoint() to return failure. Using the glibc syscall wrapper this would mean it would return -1 and set errno to EINVAL.
+
Any task using inotify will cause sys_checkpoint() to return failure because the file its fd refers to lacks the .checkpoint file operation. See [[UncheckpointableFilesystems]].
  
 
== Issues, Solutions, Impacts ==
 
== Issues, Solutions, Impacts ==
Line 8: Line 8:
  
 
{| border="1"
 
{| border="1"
! Issue !! Solution(s) !! Impact
+
! Issue !! Solution(s) !! Current Impact !! Solution Impact
 
|-
 
|-
 
! Wait descriptors
 
! Wait descriptors
| Yes || Ugly (nothing new as far as inotify is concerned -- see existing comments in the code)
+
| Yes || None || Ugly (nothing new as far as inotify is concerned -- see existing comments in the code)
 
|-
 
|-
 
! Event queue races
 
! Event queue races
| Unknown || Probably ugly
+
| Unknown || None || Probably ugly
 
|-
 
|-
 
|}
 
|}
Line 20: Line 20:
 
=== Details ===
 
=== Details ===
  
1. Wait descriptors refer to inodes but mentioning inode numbers in checkpoint images is forbidden.
+
# Wait descriptors refer to inodes but mentioning inode numbers in checkpoint images is forbidden.
  1. Use dentry aliases to find a path to store in the checkpoint image
+
## Use dentry aliases to find a path to store in the checkpoint image
  2. Change policy re: inode numbers in checkpoint images
+
## Change policy re: inode numbers in checkpoint images
    * Add a flag passed from userspace indicating whether inodes should be allowed in the checkpoint image.
+
##* Add a flag passed from userspace indicating whether inodes should be allowed in the checkpoint image.
    * Fail or fallback to dentry alias solution if the flag is missing
+
##* Fail or fallback to dentry alias solution if the flag is missing
    * Return some indication of whether there are inode numbers in the checkpoint?
+
##* Return some indication of whether there are inode numbers in the checkpoint?
      * This affects the method used to checkpoint the filesystems.
+
##** This affects the method used to checkpoint the filesystems.
  3. Ignore inotify, which would likely be ugly, and "do it right" with fanotify instead. (Al might like this idea)
+
# Races between filesystem checkpoint and event queue checkpoint.
2. Races between filesystem checkpoint and event queue checkpoint.
+
#* No solutions yet. fanotify may have this issue too.
  * No solutions yet. fanotify may have this issue too.
+

Latest revision as of 04:01, 22 February 2010

Contents

[edit] Current Status

Any task using inotify will cause sys_checkpoint() to return failure because the file its fd refers to lacks the .checkpoint file operation. See UncheckpointableFilesystems.

[edit] Issues, Solutions, Impacts

[edit] Summary

Issue Solution(s) Current Impact Solution Impact
Wait descriptors Yes None Ugly (nothing new as far as inotify is concerned -- see existing comments in the code)
Event queue races Unknown None Probably ugly

[edit] Details

  1. Wait descriptors refer to inodes but mentioning inode numbers in checkpoint images is forbidden.
    1. Use dentry aliases to find a path to store in the checkpoint image
    2. Change policy re: inode numbers in checkpoint images
      • Add a flag passed from userspace indicating whether inodes should be allowed in the checkpoint image.
      • Fail or fallback to dentry alias solution if the flag is missing
      • Return some indication of whether there are inode numbers in the checkpoint?
        • This affects the method used to checkpoint the filesystems.
  2. Races between filesystem checkpoint and event queue checkpoint.
    • No solutions yet. fanotify may have this issue too.
Personal tools