rem: if ((status = directory->Remove(&transaction, name, &id)) == B_OK) {
add: if ((status = directory->Remove(transaction, name, &id)) == B_OK) {
context: bfs_unlink(void *_ns, void *_directory, const char *name){	FUNCTION_START(("name = \"%s\"\n", name));	if (_ns == NULL || _directory == NULL || name == NULL || *name == '\0')		return B_BAD_VALUE;	if (!strcmp(name, "..") || !strcmp(name, "."))		return B_NOT_ALLOWED;	Volume *volume = (Volume *)_ns;	Inode *directory = (Inode *)_directory;	status_t status = directory->CheckPermissions(W_OK);	if (status < B_OK)		return status;#ifdef UNSAFE_GET_VNODE	RecursiveLocker locker(volume->Lock());#endif	Transaction transaction(volume, directory->BlockNumber());	off_t id;	if ((status = directory->Remove(&transaction, name, &id)) == B_OK) {		transaction.Done();		notify_listener(B_ENTRY_REMOVED, volume->ID(), directory->ID(), 0, id, NULL);	}	return status;}