Master node recovery /corruption

Thomas Brandt brandt at bury.com
Mon Mar 25 04:34:22 EDT 2013


Am 18.03.2013 16:42, schrieb Thomas Brandt:
> Hi,
> 
> I've a little question regarding the recovery of a master node.
> In my case the first master node was corrupted and could not be recovered.
> 
> After taking a look to the code:
> /fs/ubifs/recovery.c
> 
> int ubifs_recover_master_node(struct ubifs_info *c)
> {
> 	void *buf1 = NULL, *buf2 = NULL, *cor1 = NULL, *cor2 = NULL;
> 	struct ubifs_mst_node *mst1 = NULL, *mst2 = NULL, *mst;
> 	const int sz = c->mst_node_alsz;
> 	int err, offs1, offs2;
> 
> 	dbg_rcvry("recovery");
> 
> 	err = get_master_node(c, UBIFS_MST_LNUM, &buf1, &mst1, &cor1);
> 	if (err)
> 		goto out_free;
> 
> 	err = get_master_node(c, UBIFS_MST_LNUM + 1, &buf2, &mst2, &cor2);
> 	if (err)
> 		goto out_free;
> 
> I see that if getting the first master node fails the function returns
> without trying to get the second master node, which should be as far as
> I understand it, a mirror of the first master node?!.
> 
> Is there any reason why it must be handled in that way?
> Because after I've done a little hack (don't care that first node fails)
> ithe first master node was recovered from the second one and it could be
> mounted without any errors.
> 
> At the moment it difficult for me to say whats right or wrong!?
> Might there be a bug?
> 
> Cheers,
> Thomas
> 
> 
> 
> 
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 

Hello again!

Does somebody take care of this?

BR,
Thomas



More information about the linux-mtd mailing list