[CRIU] [PATCH 2/2] fsnotify: don't dump fd, it is has queued evetns
Andrey Vagin
avagin at openvz.org
Mon Sep 1 13:25:14 PDT 2014
Events are not dumped/restored. An idea of ignoring them isn't good.
Signed-off-by: Andrey Vagin <avagin at openvz.org>
---
fsnotify.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/fsnotify.c b/fsnotify.c
index 09b793d..ec12413 100644
--- a/fsnotify.c
+++ b/fsnotify.c
@@ -231,7 +231,15 @@ static int dump_one_inotify(int lfd, u32 id, const struct fd_parms *p)
struct watch_list wd_list = {.list = LIST_HEAD_INIT(wd_list.list), .n = 0};
InotifyFileEntry ie = INOTIFY_FILE_ENTRY__INIT;
union fdinfo_entries *we, *tmp;
- int exit_code = -1, i;
+ int exit_code = -1, i, ret;
+
+ ret = fd_has_data(lfd);
+ if (ret < 0)
+ return -1;
+ else if (ret > 0) {
+ pr_err("The %d inotify has queued events\n", id);
+ return -1;
+ }
ie.id = id;
ie.flags = p->flags;
@@ -337,6 +345,15 @@ static int dump_one_fanotify(int lfd, u32 id, const struct fd_parms *p)
union fdinfo_entries *we, *tmp;
int ret = -1, i;
+ ret = fd_has_data(lfd);
+ if (ret < 0)
+ return -1;
+ else if (ret > 0) {
+ pr_err("The %d inotify has queued events\n", id);
+ return -1;
+ }
+ ret = -1;
+
fe.id = id;
fe.flags = p->flags;
fe.fown = (FownEntry *)&p->fown;
--
1.9.3
More information about the CRIU
mailing list