forsyth20121205-174063a80cc13 years agoHistory
50 lines · 1021 B · C
RawDownload
#include "logfsos.h"#include "logfs.h"#include "nandfs.h"#include "local.h" char *nandfseraseblock(Nandfs *nandfs, long block, void **llsavep, int *markedbad){	NandfsBlockData *d;	char *errmsg; 	if (markedbad)		*markedbad = 0; 	errmsg = (*nandfs->erase)(nandfs->magic, nandfs->rawblocksize * (nandfs->baseblock + block));	if (errmsg) {		if (nandfs->blockdata) {			d = &nandfs->blockdata[block];			d->tag = LogfsTworse;			nandfs->worseblocks = 1;		}		if (strcmp(errmsg, Eio) != 0)			return errmsg;		if (markedbad) {			*markedbad = 1;			errmsg = nandfsmarkblockbad(nandfs, block);			if (strcmp(errmsg, Eio) != 0)				return errmsg;			return nil;		}		return errmsg;	} 	if (nandfs->blockdata) {		ulong *llsave;		d = &nandfs->blockdata[block];		if (llsavep) {			llsave = nandfsrealloc(nil, sizeof(ulong));			if (llsave == nil)				return Enomem;			*llsave = d->nerase;			*llsavep = llsave;		}		d->tag = 0xff;		d->path = NandfsPathMask;		d->nerase = NandfsNeraseMask;	}	return  nil;} 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t