On 05/14/2013 11:59 AM, Prashant Shah wrote: > Hi, > > On Mon, May 13, 2013 at 9:52 PM, Matthias Brugger > <matthias.bgg@xxxxxxxxx> wrote: >> El 13/05/2013 10:07, "shampavman" <shampavman.cg@xxxxxxxxx> va escriure: >> >> >>> Hi all, >>> >>> Supposing i create a file of size 10K, it will occupy 2 blocks (4K each). >>> Now if i want to read only 1 block from it how can i do it? >>> >>> read(fd, buf, 4096) ; >>> would this mean i would read the first block and all its contents? > One way to do this is use the FIBMAP ioctl to the get the block > numbers of a file and then seek the disk /dev/sdX directly and use the > read() to get data block. But why does a simple read not turn out 1 block for me? Eg, i know my block size if 4k and my file (according to du) reports that it's using 8k of space. So when i read the file via the read() and ask it to give me the 'first 4k' bytes, would that not return 1 block ? thanks > > Regards. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies