[openbeos] BFS directory nodes / last_modified / write_stat
- From: Robert Szeleney <skyos@xxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Wed, 25 Oct 2006 16:00:01 +0200 (CEST)
Hi again
Experienced another real minor problem. Not sure if this occures in your
current SVN version too.
If you create a directory node it is not inserted into the 'last_modified'
index. Ok, no problem so far.
But if you now call write_stat on this directory (touch -c -a -m <directory>)
the write_stat function calls:
index.UpdateLastModified(transaction, inode, (bigtime_t)stat->st_mtime <<
INODE_TIME_SHIFT); which will try to remove and reinsert it into the index.
The remove operation (BPlusTree::Remove) will return with an error at
// first round, check for duplicate entries
status_t status = FindKey(node, key, keyLength, &nodeAndKey.keyIndex);
if (status < B_OK)
RETURN_ERROR(status);
and prints a warning/error. (Could not find value in index "last_modified"!)
Wouldn't it be better to not update/insert the key for the last_modified index
for directories? (else using write_stat one will add directory nodes to the
last_modified index).
Thanks,
Robert
- Follow-Ups:
- [openbeos] Re: BFS directory nodes / last_modified / write_stat
- From: Axel Dörfler
Other related posts:
- » [openbeos] BFS directory nodes / last_modified / write_stat
- » [openbeos] Re: BFS directory nodes / last_modified / write_stat
- [openbeos] Re: BFS directory nodes / last_modified / write_stat
- From: Axel Dörfler