Re: [RFC] fs,eventpoll: Add ability to install target file by its number

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 15, 2017 at 12:29:04PM -0800, Andrew Morton wrote:
> On Wed, 15 Feb 2017 19:14:54 +0300 Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> 
> > When we checkpoint a process we look into /proc/<pid>/fdinfo/<fd> of eventpoll
> > file and parse target files list from there. In most situations this is fine
> > because target file is present in the /proc/<pid>/fd/ list. But in case if file
> > descriptor was dup'ed or transferred via unix socket and closed after,
> > it might not be in the list and we can't figure out which file descriptor
> > to pass into epoll_ctl call.
> > 
> > To resolve this tie lets add EPOLL_CTL_ITF ("itf" stands for install
> > target file) operation which simply takes target file descriptor number
> > and installs it into a caller's file table, thus we can use kcmp()
> > syscall and figure out which exactly file to be added into
> > eventpoll on restore procedure.
> 
> Can we please see the proposed manpage update.  And Cc linux-api and
> Michael Kerrisk.

Sure! Will do (I didn't write it immediately 'cause wanted to see if
the idea of new operation won't be rejected immediately, that is why
it is rfc).

> >  #define EPOLL_CTL_ADD 1
> >  #define EPOLL_CTL_DEL 2
> >  #define EPOLL_CTL_MOD 3
> > +#define EPOLL_CTL_ITF 4
> 
> Somewhere we should tell the poor reader what "itf" means.  A comment
> here would suit.

I thought maybe some better name come to mind... Say
EPOLL_CTL_INS, except INS usually associated with "insert"?



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux