From: Karim Yaghmour <karim@opersys.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
LTT-Dev <ltt-dev@shafik.org>
Subject: [PATCH 4/8 ] ltt for 2.6.10 : fs/ events
Date: Fri, 14 Jan 2005 01:11:20 -0500 [thread overview]
Message-ID: <41E76288.2080004@opersys.com> (raw)
signed-off-by: Karim Yaghmour (karim@opersys.com)
--- linux-2.6.10-relayfs/fs/buffer.c 2004-12-24 16:34:58.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/buffer.c 2005-01-13 22:21:51.000000000 -0500
@@ -39,6 +39,7 @@
#include <linux/notifier.h>
#include <linux/cpu.h>
#include <linux/bitops.h>
+#include <linux/ltt-events.h>
static int fsync_buffers_list(spinlock_t *lock, struct list_head *list);
static void invalidate_bh_lrus(void);
@@ -87,7 +88,9 @@ void fastcall unlock_buffer(struct buffe
*/
void __wait_on_buffer(struct buffer_head * bh)
{
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_BUF_WAIT_START, 0, 0, NULL);
wait_on_bit(&bh->b_state, BH_Lock, sync_buffer, TASK_UNINTERRUPTIBLE);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_BUF_WAIT_END, 0, 0, NULL);
}
static void
--- linux-2.6.10-relayfs/fs/exec.c 2004-12-24 16:34:31.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/exec.c 2005-01-13 23:37:48.000000000 -0500
@@ -47,6 +47,7 @@
#include <linux/security.h>
#include <linux/syscalls.h>
#include <linux/rmap.h>
+#include <linux/ltt-events.h>
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
@@ -1105,6 +1106,9 @@ int do_execve(char * filename,
if (IS_ERR(file))
goto out_kfree;
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_EXEC, 0,
+ file->f_dentry->d_name.len, file->f_dentry->d_name.name);
+
sched_exec();
bprm->p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *);
--- linux-2.6.10-relayfs/fs/ioctl.c 2004-12-24 16:34:26.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/ioctl.c 2005-01-13 22:35:41.000000000 -0500
@@ -11,6 +11,7 @@
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/security.h>
+#include <linux/ltt-events.h>
#include <linux/module.h>
#include <asm/uaccess.h>
@@ -68,6 +69,8 @@ asmlinkage long sys_ioctl(unsigned int f
goto out;
}
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_IOCTL, fd, cmd, NULL);
+
lock_kernel();
switch (cmd) {
case FIOCLEX:
--- linux-2.6.10-relayfs/fs/open.c 2004-12-24 16:33:50.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/open.c 2005-01-13 23:38:31.000000000 -0500
@@ -19,6 +19,8 @@
#include <linux/security.h>
#include <linux/mount.h>
#include <linux/vfs.h>
+#include <linux/ltt-events.h>
+
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/pagemap.h>
@@ -956,6 +958,8 @@ asmlinkage long sys_open(const char __us
error = PTR_ERR(f);
if (IS_ERR(f))
goto out_error;
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_OPEN, fd,
+ f->f_dentry->d_name.len, f->f_dentry->d_name.name);
fd_install(fd, f);
}
out:
@@ -1031,6 +1035,7 @@ asmlinkage long sys_close(unsigned int f
filp = files->fd[fd];
if (!filp)
goto out_unlock;
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_CLOSE, fd, 0, NULL);
files->fd[fd] = NULL;
FD_CLR(fd, files->close_on_exec);
__put_unused_fd(files, fd);
--- linux-2.6.10-relayfs/fs/read_write.c 2004-12-24 16:35:00.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/read_write.c 2005-01-13 23:39:41.000000000 -0500
@@ -14,6 +14,7 @@
#include <linux/security.h>
#include <linux/module.h>
#include <linux/syscalls.h>
+#include <linux/ltt-events.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
@@ -142,6 +143,9 @@ asmlinkage off_t sys_lseek(unsigned int
if (res != (loff_t)retval)
retval = -EOVERFLOW; /* LFS: should only happen on 32 bit platforms */
}
+
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_SEEK, fd, offset, NULL);
+
fput_light(file, fput_needed);
bad:
return retval;
@@ -169,6 +173,8 @@ asmlinkage long sys_llseek(unsigned int
offset = vfs_llseek(file, ((loff_t) offset_high << 32) | offset_low,
origin);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_SEEK, fd, offset, NULL);
+
retval = (int)offset;
if (offset >= 0) {
retval = -EFAULT;
@@ -289,6 +295,7 @@ asmlinkage ssize_t sys_read(unsigned int
file = fget_light(fd, &fput_needed);
if (file) {
loff_t pos = file_pos_read(file);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_READ, fd, count, NULL);
ret = vfs_read(file, buf, count, &pos);
file_pos_write(file, pos);
fput_light(file, fput_needed);
@@ -307,6 +314,7 @@ asmlinkage ssize_t sys_write(unsigned in
file = fget_light(fd, &fput_needed);
if (file) {
loff_t pos = file_pos_read(file);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_WRITE, fd, count, NULL);
ret = vfs_write(file, buf, count, &pos);
file_pos_write(file, pos);
fput_light(file, fput_needed);
@@ -328,8 +336,11 @@ asmlinkage ssize_t sys_pread64(unsigned
file = fget_light(fd, &fput_needed);
if (file) {
ret = -ESPIPE;
- if (file->f_mode & FMODE_PREAD)
+ if (file->f_mode & FMODE_PREAD) {
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_READ, fd, count, NULL);
ret = vfs_read(file, buf, count, &pos);
+ }
+
fput_light(file, fput_needed);
}
@@ -349,8 +360,10 @@ asmlinkage ssize_t sys_pwrite64(unsigned
file = fget_light(fd, &fput_needed);
if (file) {
ret = -ESPIPE;
- if (file->f_mode & FMODE_PWRITE)
+ if (file->f_mode & FMODE_PWRITE) {
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_WRITE, fd, count, NULL);
ret = vfs_write(file, buf, count, &pos);
+ }
fput_light(file, fput_needed);
}
@@ -535,6 +548,7 @@ sys_readv(unsigned long fd, const struct
file = fget_light(fd, &fput_needed);
if (file) {
loff_t pos = file_pos_read(file);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_READ, fd, vlen, NULL);
ret = vfs_readv(file, vec, vlen, &pos);
file_pos_write(file, pos);
fput_light(file, fput_needed);
@@ -553,6 +567,7 @@ sys_writev(unsigned long fd, const struc
file = fget_light(fd, &fput_needed);
if (file) {
loff_t pos = file_pos_read(file);
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_WRITE, fd, vlen, NULL);
ret = vfs_writev(file, vec, vlen, &pos);
file_pos_write(file, pos);
fput_light(file, fput_needed);
--- linux-2.6.10-relayfs/fs/relayfs/relay.c 2005-01-13 22:16:35.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/relayfs/relay.c 2005-01-14 00:12:06.000000000 -0500
@@ -406,8 +406,7 @@ relay_mmap_region(struct vm_area_struct
while (size > 0) {
page = kvirt_to_pa(pos);
- if (remap_pfn_range(vma, start, page >> PAGE_SHIFT,
- PAGE_SIZE, PAGE_SHARED))
+ if (remap_pfn_range(vma, start, page >> PAGE_SHIFT, PAGE_SIZE, PAGE_SHARED))
return -EAGAIN;
start += PAGE_SIZE;
pos += PAGE_SIZE;
--- linux-2.6.10-relayfs/fs/select.c 2004-12-24 16:33:49.000000000 -0500
+++ linux-2.6.10-relayfs-ltt/fs/select.c 2005-01-13 23:39:55.000000000 -0500
@@ -22,6 +22,7 @@
#include <linux/personality.h> /* for STICKY_TIMEOUTS */
#include <linux/file.h>
#include <linux/fs.h>
+#include <linux/ltt-events.h>
#include <asm/uaccess.h>
@@ -223,6 +224,8 @@ int do_select(int n, fd_set_bits *fds, l
file = fget(i);
if (file) {
f_op = file->f_op;
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_SELECT, i /* The fd*/,
+ __timeout, NULL);
mask = DEFAULT_POLLMASK;
if (f_op && f_op->poll)
mask = (*f_op->poll)(file, retval ? NULL : wait);
@@ -408,6 +411,7 @@ static void do_pollfd(unsigned int num,
struct file * file = fget(fd);
mask = POLLNVAL;
if (file != NULL) {
+ ltt_ev_file_system(LTT_EV_FILE_SYSTEM_POLL, fd, 0, NULL);
mask = DEFAULT_POLLMASK;
if (file->f_op && file->f_op->poll)
mask = file->f_op->poll(file, *pwait);
next reply other threads:[~2005-01-14 6:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-14 6:11 Karim Yaghmour [this message]
2005-01-14 20:49 ` [PATCH 4/8 ] ltt for 2.6.10 : fs/ events Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41E76288.2080004@opersys.com \
--to=karim@opersys.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ltt-dev@shafik.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.