Hello, so I was trying to track down occasional reports like: [ +0.007156] XFS (md0): Mounting V5 Filesystem [ +0.200782] XFS (md0): Starting recovery (logdev: internal) [ +0.125313] XFS (md0): Unknown buffer type 0! [ +0.042793] XFS (md0): _xfs_buf_ioapply: no ops on block 0xaea8802/0x1 [ +0.000145] ffff8800ffc53800: 58 41 47 49 00 00 00 01 00 00 00 02 00 ae a8 80 XAGI............ [ +0.000179] ffff8800ffc53810: 00 00 13 00 00 00 00 76 00 00 00 01 00 00 00 0e .......v........ [ +0.000179] ffff8800ffc53820: 00 01 f4 00 ff ff ff ff ff ff ff ff ff ff ff ff ................ [ +0.000178] ffff8800ffc53830: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ ... from our users with current kernels. What happens is that log contains AGI buffer but blf_flags is 0 so we don't know how to set the buffer operations during log recovery. After some experiments I've noticed that when we log agi_unlinked buckets e.g. in xfs_iunlink_remove(), we don't set buffer type. We just call xfs_trans_log_buf(tp, agibp, offset, (offset + sizeof(xfs_agino_t) - 1)); and thus buffer may be logged without blf_flags set appropriately. Am I missing something or is that code really buggy? If it's really a bug I can try to fix that but I'd think that it would require somewhat larger changes so that similar bugs are avoided in future so I'm asking first before investing significant amount of time into it. Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs