[rfc 1/2] timerfd: Implement show_fdinfo method

From: Cyrill Gorcunov
Date: Mon Mar 31 2014 - 14:00:19 EST


For checkpoint/restore of timerfd files we need to know the clock
type being used on timerfd creation. Thus implement show_fdinfo
method where we print out the type.

Also to minimize the number of calls print out the ticks as well
(thus one read of fdinfo entry would eliminate the need of doing
read() over timerfd itself).

CC: Shawn Landden <shawn@xxxxxxxxxxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
CC: Andrey Vagin <avagin@xxxxxxxxxx>
CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
---
fs/timerfd.c | 9 +++++++++
1 file changed, 9 insertions(+)

Index: linux-2.6.git/fs/timerfd.c
===================================================================
--- linux-2.6.git.orig/fs/timerfd.c
+++ linux-2.6.git/fs/timerfd.c
@@ -284,11 +284,20 @@ static ssize_t timerfd_read(struct file
return res;
}

+static int timerfd_show(struct seq_file *m, struct file *file)
+{
+ struct timerfd_ctx *ctx = file->private_data;
+
+ return seq_printf(m, "clockid: %d ticks: %llu\n",
+ ctx->clockid, (unsigned long long)ctx->ticks);
+}
+
static const struct file_operations timerfd_fops = {
.release = timerfd_release,
.poll = timerfd_poll,
.read = timerfd_read,
.llseek = noop_llseek,
+ .show_fdinfo = timerfd_show,
};

static int timerfd_fget(int fd, struct fd *p)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/