Date: Mon, 2 Oct 2006 18:12:42 -0700 (PDT) From: Shane Adams <adamsch1@yahoo.com> To: freebsd-fs@freebsd.org Subject: curiosity between bread and UFS_BALLOC on struct buf Message-ID: <20061003011243.19533.qmail@web31812.mail.mud.yahoo.com>
next in thread | raw e-mail | index | archive | help
Hey all, I've been puzzling with a bit of code. I'm creating a file from within a kernel module, that works fine, but I've got a question if perhaps I'm missing something: I use UFS_BALLOC to allocate some space. That function has a struct buf thats returned. What I would expect is that I could manipulate the bp->b_data field then do a bwrite and have my changes saved. Doesnt work that way. Only way I can get it to work is 1 UFS_BALLOC( ... ) 2 bwrite( .. ) 3 bread( ... ) 4 /* Make changes to what I read */ 5 bwrite() Seems like I could get rid of, 2 and 3. I'm not sure why I have to bwrite the buffer returned from UFS_BALLOC. I dug around and there are a few examples of where ffs/ufs manipulate the buffer returned from UFS_BALLOC so I am guessing I'm missing a flag or something. Hope the question is clear enough! Cheers, Shane
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061003011243.19533.qmail>
