Question : About the i/o processing to take around common i/o intercafe of submit_bio()

From: ohyama_sec
Date: Tue Jul 14 2009 - 12:25:21 EST


From: Hiroyasu OHYAMA

Sorry, I'm not always contribute but ask you questions. Today, I also want to ask Kernel-Developpers a internal kernel-processing that is about i/o submittion interface.

I'm a Japanese student, now I develop cache system that work under the page-cache layer for my enjoyment.
(Incidentally, The main porpose of this system is to save energy consumption of disk storage)

To implement this system in GNU/Linux, I hooked bio object at submit_bio(). I know that pdflush and other upper layer software, low level file-system, call this routine to operate block i/o. So I think that 'submit_bio' is the interface of i/o submittion and the system that I made seems like to run smoothly.

But I found the Kernel-Document say that

'The normal i/o submission interfaces, e.g submit_bio, could be bypassed
for specially crafted requests which such ioctl or diagnostics
interfaces would typically use, ...'
[(v2.6.24) block/biodoc.txt l.306]

I investigated ioctl and read sys_ioctl(). But this processing is too complex to find out target processing.
Could you please tell me what kind of request that is second argument of ioctl() system-call cause bypass of submit_bio i/o interface.
And if there are other processing which operate block device without using submit_bio(), I want to know where these processings are.

Thank you in advance.
--
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/