Re: Accessing on-disk datastructures from a module

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

 



On Tue, Jan 18, 2011 at 11:40 PM, Martin DeMello
<martindemello@xxxxxxxxx> wrote:
> On Wed, Jan 19, 2011 at 1:03 PM, Manish Katiyar <mkatiyar@xxxxxxxxx> wrote:
>> On Tue, Jan 18, 2011 at 11:23 PM, Martin DeMello
>> <martindemello@xxxxxxxxx> wrote:
>>> I would like to maintain some filesystem metadata as an on-disk
>>> datastructure that can be read and written to from within the
>>> filesystem module. I know file access from within the kernel is a bad
>>> idea; what is the recommended alternative for this?
>>
>> You can try to have a reserved inode and use that.
>
> That is what I was trying to do, but I can't find any documentation on
> how to read/write to it. Could you point me towards some docs or
> examples?

Once you have your reserved inode, you can open it using iget to get
the inode pointer. After that it would be same way as you would have
done if you were allowed file ops in kernel. For eg.. If my reserved
inode is 100 and I'm using ext2, it would be something like

read_reserved_block(int blockno) {
....
inodep = ext2_iget(sb, 100)
err = ext2_get_block(inodep, blockno, &bh, 0);
iput(inodep);
.......
}

Have a look at ext2_quota_read() for some hints.



-- 
Thanks -
Manish
==================================
[$\*.^ -- I miss being one of them
==================================

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[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