Messages in this thread Patch in this message | | | Date | Mon, 31 Mar 2014 21:54:08 +0400 | From | Cyrill Gorcunov <> | Subject | [rfc 1/2] timerfd: Implement show_fdinfo method |
| |
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@churchofgit.com> CC: Thomas Gleixner <tglx@linutronix.de> CC: Andrew Morton <akpm@linux-foundation.org> CC: Andrey Vagin <avagin@openvz.org> CC: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> --- 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)
| |