Re: sector size in block device drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nidhi,



On Sun, Feb 1, 2009 at 3:20 PM, nidhi mittal <nidhimittal19@xxxxxxxxx> wrote:
> hello
> i was writing my initial block device driver following LDD
> but was totally confused on KERNEL SECTOR SIZE and hardware sector size
> issue they discussed in that .
>
> they write sth like
> if sector number passed between kernel and block layer it should be
> something and
> if its passed between blocklayer and driver it should be something else.
>
> means at different place some confusing note abt sector size
> can someone clear it to me in simple 2-3 sentences
>
> At what places , in which function i shd consider sending sector size with a
> thought that
> at this place it understand sector= 512 bytes
> and
> At what places , in which function i shd consider sending sector size as my
> hardware sector size
> in thinking that it understand 2048 bytes ...
>
> and
> most important
> in book they write
>
> blk_queue_hardsect_size(request_queue_t *queue , unsigned short max );
> "All the communication from block layer and driver is in 512 bytes but all
> request generated by kernel are multiple of
> hardware sect size and properly aligned "
>
> so i wanted to know where actually is block layer and where is driver
> where are they separated how do i know when i m going from block layer to
> driver ....
> what i understand is ONLY user space and kernel space
>

Well, firstly I believe that you should be able to decide what driver
are you working on.
Generally when we work in the kernel we work with the drivers and not
with the hardware/chip drivers.

Here very clearly, I can explain you this difference with the help of
Filesystem and the block device driver.

So, the block size for the file system can be anything i.e. 1K, 2K, 4K
and 8K etc...but the block device driver layer always takes the size
in 512 bytes.
If  you look at the one of the fields in the FS inode which holds the
number of blocks also contains the number of blocks in terms of
512bytes.

So, here first driver can be Filesystem, Second being the block device
driver (BIO).

HTH,

> it will be very kind if someone clears it to me.
> thanks
> Nidhi
>
>
> Thanks & Regards
> Nidhi



-- 
Regards,
Sandeep.





 	
"To learn is to change. Education is a process that changes the learner."

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux