| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | XFS: bad clientid on recovery on MIPS (VIPT cache) |
| From: | Ajeet Yadav <ajeet.yadav.77@xxxxxxxxx> |
| Date: | Thu, 21 Oct 2010 18:17:50 +0530 |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=savldn0u3nOYSiHxoJoVVKaC5HdgyYreE56JJMg+wug=; b=TyuSvO5+TYp40bETbrOA2U3hUyTY/7K88kZi1nl8nL8S5fxzavrijrK8AFLCXetuOD 4Th34Li4100DH0FQW20gFHj/5/lBVENE0jjwihr1NgBSR5sTfjlWIufrPLWMAv5Zdl8A pDRG8pSPVJ034XY7O6Ea1PsrdPCI+0SK8vEAc= |
| Domainkey-signature: | a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=xj3sRnN79tnz7UfDy5atiW/992dac2kaKjj+IQqQY+ER5aN7mQAn62Kbnv7FlC1MHP zEbYgQTNWBYeuNSUv2nZ5kvGTB+FnyUCxIzXvIVGfnUKOWfDCjvOTr+0RS6YxzVuISdh fNycHwBqOfoKlwoVblXh59X5dUcosLyhSsKlA= |
| In-reply-to: | <AANLkTi=wbBhb=s3z9vyw9gL9Qwy0goj+8UtueFyNq+y2@xxxxxxxxxxxxxx> |
| References: | <AANLkTi=wbBhb=s3z9vyw9gL9Qwy0goj+8UtueFyNq+y2@xxxxxxxxxxxxxx> |
|
Dear member,
If I remove USB flash storage from PC/ARM/MIPS target (i.e without umount) while copying file to XFS partition and connect it to MIPS target I always get
XFS: xlog_recover_process_data: bad clientid
XFS: log mount/recovery failed: error 5 XFS: log mount failed This problem does not occur, if I connect the same USB flash to PC/ARM target.
I have tested this on 2.6.30 - 2.6.34 (It everywhere when concerend with MIPS)
I had two workaround to avoid this problem on MIPS, but I wish to know the exact reason of this problme on MIPS.
I am really tired and giving up, so finally thought of taking your help, your guidence can help me.
1. __flush_cache_all() at the begining of each iteration of while loop in function xlog_recover_process_data().
while ((dp < lp) && num_logops) {
+ __flush_cache_all() ;
ASSERT(dp + sizeof(xlog_op_header_t) <= lp); ohead = (xlog_op_header_t *)dp; dp += sizeof(xlog_op_header_t); if (ohead->oh_clientid != XFS_TRANSACTION && ohead->oh_clientid != XFS_LOG) { xlog_warn( "XFS: xlog_recover_process_data: bad clientid") OR
2. Provide new buffer in each call to xlog_bread in function xlog_do_recovery_pass().
if (error)
goto bread_err2; /* blocks in data section */
bblks = (int)BTOBB(be32_to_cpu(rhead->h_len)); + xlog_put_bp(dbp);
+ dbp = xlog_get_bp(log, BTOBB(h_size)); error = xlog_bread(log, blk_no + hblks, bblks, dbp, &offset); if (error) goto bread_err2; WIth Regards
Ajeet Yadav
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | XFS: bad clientid on recovery on MIPS (VIPT cache), Ajeet Yadav |
|---|---|
| Next by Date: | Re: [PATCH 2/4] xfstests: add _require_attrs, Alex Elder |
| Previous by Thread: | XFS: bad clientid on recovery on MIPS (VIPT cache), Ajeet Yadav |
| Next by Thread: | Re: XFS: bad clientid on recovery on MIPS (VIPT cache), Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |