Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2008 09:46:00 -0500
From:      Adam <urbansnap@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   Reading and Writing to Block from di_spare
Message-ID:  <485228D5-8D0B-4CD5-9FB7-B0D551B172DA@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi, I am working on a project for where I want to take the standard  
UFS/FFS file system that BSD ships with and add several blocks of  
information to the dinode.  The simplest way of doing it seemed to be  
to allocate blocks to di_spare.  I believe that I have figured out how  
to do that:

ffs_alloc(inode, 0 , 0, (int)(inode->i_fs->fs_bsize), td->td_ucred,  
&addr);
dinode->di_spare[1]=(int64_t)addr;

I'm having problems taking that block address and reading/writing to  
it.   As far as I can tell most of the buffer read routines (getblk,  
bread) seem to be geared toward reading and writing direct and  
indirect blocks in an inode.

How do I read and write a block that is neither a direct nor an  
indirect block?

I apologize in advance if this is has been posted before. I have spent  
a considerable amount of time searching past posts for the solution.

Thanks,
Adam



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?485228D5-8D0B-4CD5-9FB7-B0D551B172DA>