[haiku-gsoc] Re: BFS bug #2
- From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
- To: haiku-gsoc@xxxxxxxxxxxxx
- Date: Sat, 28 Jun 2008 15:44:22 +0200 CEST
"Salvatore Benedetto" <emitrax@xxxxxxxxx> wrote:
> I'm fixing it now. Let me know if you have any suggestions about how
> to fix it.
On second thought, it's not that easy to do what I just suggested;
Inode::_MakeSpaceForSmallData() calls Inode::Remove(), and it's
impractical to always lock the volume lock before that.
Instead, I have two different suggestions:
1) the simple one: get rid of the volume lock in remove/rename, and
start the transaction in rename earlier (at the place where the volume
is locked now)
2) the needlessly complex one: make the journal lock an r/w lock, and
make rename read lock it before actually starting a transaction (a
transaction would always write lock).
IMO 1) is the way to go, since 2) would only be an optimization for the
error case, and can thus be neglected.
Bye,
Axel.
- Follow-Ups:
- [haiku-gsoc] Re: BFS bug #2
- From: Salvatore Benedetto
- References:
- [haiku-gsoc] BFS bug #2
- From: Salvatore Benedetto
Other related posts:
- » [haiku-gsoc] BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- » [haiku-gsoc] Re: BFS bug #2
- [haiku-gsoc] Re: BFS bug #2
- From: Salvatore Benedetto
- [haiku-gsoc] BFS bug #2
- From: Salvatore Benedetto