Messages in this thread | | | Date | Tue, 27 Sep 2005 17:10:00 +0530 | From | Block Device <> | Subject | Re: Trapping Block I/O |
| |
The problem to creating a wrapper in the manner sugegsted is that any filesystems mounted or other stuff which uses the original device must be stopped and changed to start using the new pseudo device. I want something which can be as non intrusive as possible. Am looking @ Jens btrace :) ..
Thanks &Regards -BD
On 9/23/05, Fawad Lateef <fawadlateef@gmail.com> wrote: > On 9/23/05, Block Device <blockdevice@gmail.com> wrote: > > > > I need to trap _all_ the I/O going to each and every block device > > in the system. I used jprobes to trap calls to generic_make_request. > > Is this the correct/only place to do such a thing ? > > Or do I have to monitor the q->make_request_fn for every device ? > > > > Yes, generic_make_request or monitoring q->make_request_fn can trap > the _all_ I/O tpo block devices but other approach might be a little > bit odd/difficult but through that you can get every request to block > device .... the approach is you create a block device and then create > that block device as a wrapper on your device, now use your block > device and in its request function (can alter the data and sectors > etc) and calls generic_make_request for the original device on which > you created wrapper .... So by doing this you can easily monitor > requests (similar to this approach is used in LVM/RAID) ...... > > > -- > Fawad Lateef > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |