Firstly you cannot set the block size to lesser than 512. When there is a request for the IO, you populate "struct req" data structure which you will pass it to the kernel or lower level SCSI/SATA driver. In the "struct req" there is a field "b_size" which may be what you are interested in. At the user level you can use the IOCTLs to set the block size of the RAW block device. -Shesha On Wed, 2004-10-27 at 18:44, Lei Yang wrote: > If nobody could answer this question, what about another one? Is there a > system call or a kernel interface that would allow me to write a block > of data to block 1 of a certain block device? > > Thanks for your reply in advance! > > Lei > > Lei Yang wrote: > > > Please cc me if you have answers to this, I am not on the list. Thanks > > a lot! > > > > Lei Yang wrote: > > > >> Hello, > >> > >> I am learning block device drivers and have a newbie question. Given > >> a block device, is there anyway that I could set its block size? For > >> example, I want to write a block device driver that will work on an > >> existing block device. In this driver, I want block size smaller. > >> (The idea looks confusing but I could explain if anybody is > >> interested :- ) However, typically the block size is 1KB, now I > >> want to set it to 512 or 256. Can I do it? > >> > >> TIA > >> Lei > >> > > > > > > > > > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ -- .-----. / \ { o | o } | \_/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/