]> Pileus Git - ~andy/linux/blobdiff - kernel/trace/trace.c
tracing: Add generic tracing_lseek() function
[~andy/linux] / kernel / trace / trace.c
index 59bf5b56ccc06940a33856839dc5fe0da992466a..e32a2f48dde123ad9036f3998c63835140f3d5e9 100644 (file)
@@ -3183,19 +3183,23 @@ tracing_write_stub(struct file *filp, const char __user *ubuf,
        return count;
 }
 
-static loff_t tracing_seek(struct file *file, loff_t offset, int origin)
+loff_t tracing_lseek(struct file *file, loff_t offset, int whence)
 {
+       int ret;
+
        if (file->f_mode & FMODE_READ)
-               return seq_lseek(file, offset, origin);
+               ret = seq_lseek(file, offset, whence);
        else
-               return 0;
+               file->f_pos = ret = 0;
+
+       return ret;
 }
 
 static const struct file_operations tracing_fops = {
        .open           = tracing_open,
        .read           = seq_read,
        .write          = tracing_write_stub,
-       .llseek         = tracing_seek,
+       .llseek         = tracing_lseek,
        .release        = tracing_release,
 };
 
@@ -4940,7 +4944,7 @@ static const struct file_operations snapshot_fops = {
        .open           = tracing_snapshot_open,
        .read           = seq_read,
        .write          = tracing_snapshot_write,
-       .llseek         = tracing_seek,
+       .llseek         = tracing_lseek,
        .release        = tracing_snapshot_release,
 };