Re: QNX EFS Driver

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

 



On Thu, Mar 22, 2012 at 07:24:35PM +0100, Kai Bankett wrote:
> Due to the fact that the QNX EFS Filesystem is not using any fixed  
> blocks and just some fixed structures, I started fighting against the  
> buffer head blocksize.
> I think I could pretty up the code a lot if there's any way to read N  
> Bytes from a device at position X.
> Already started to look around, but could not really find something  
> giving me direct position access to a device.

Sure; there's no need to use buffer_heads at all.  You can call
submit_bio() to do reads and writes.  You do have to be 512-byte aligned,
but that doesn't seem to be an issue for you.  btrfs, ext4, gfs2, hfsplus,
jfs, logfs, nfs, nilfs2, ocfs2 and xfs all use the submit_bio interface
in case you need to see some examples.

> At least I would be extremly thankful if someone could point me some  
> direction on how to better solve the chunkreading in qnxefs_file_read().
> It's currently buffer_head based with a blocksize of 512kb. The QNX EFS  
> - at least the files I got hold of - uses 16384 byte Blocks in 262144  
> byte logical units.
> So a file is split into chunks of up to 0x4000 size, but that chunks can  
> vary in size. (in case of the end of a logical unit, file end etc.)

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux