[CRIU] [PATCH] fsmptify: Filter out internal inotify bits when restoring marks

Cyrill Gorcunov gorcunov at gmail.com
Tue Sep 22 06:36:28 PDT 2015


On Tue, Sep 22, 2015 at 04:15:43PM +0300, Andrew Vagin wrote:
> > > 
> > > I think we need only exclude FS_EVENT_ON_CHILD. Otherwise we will skip a
> > > new flags, when they will add into the kernel.
> > 
> > New flags are gonna be defined in uapi/ as well so criu is depending on which
> 
> If you will exclude only FS_EVENT_ON_CHILD, the code will work for all
> kernel. The current version depends on IN_ALL_EVENTS, which can be
> changed in the next kernel.

You miss the point. It was a bug in the kernel that it has been exporting
internal bit into userspace. The kernel has _all_ rights to

#define IN_SOME_NEW_BIT	 	0x08000000

and export it into userspace as a valid one which would serve some
new purpose and meaning. So we simply can't rip it off. That's
why I propose to mask it with IN_ALL_EVENTS which is a part of
userspace.

Another option -- don't modify criu at all but rip off the
FS_EVENT_ON_CHILD in the test itself? As far as I understand
the main problem is the tests are failing since the kernel
masks the agrumens passing in with IN_ALL_EVENTS internally.


More information about the CRIU mailing list