]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commit
xfstests: test multiply-logged inodes & continued transactions
authorEric Sandeen <sandeen@sandeen.net>
Wed, 2 Jan 2013 22:28:32 +0000 (16:28 -0600)
committerBen Myers <bpm@sgi.com>
Tue, 29 Jan 2013 19:59:56 +0000 (13:59 -0600)
commitae2328e7c9329695181c86354c561ef7666aa173
tree74824c942f3140bad943f4f5071692fa1b2d563b
parentb3d0a7d09afff630908d9566493f50c59f8cfa12
xfstests: test multiply-logged inodes & continued transactions

New test for 2 xfs_logprint error cases:

As xlog_print_trans_inode() stands today, it will error
out if more than one flag is set on f->ilf_fields:

xlog_print_trans_inode: illegal inode type

but this is a perfectly valid case, to have i.e. a data and
an attr flag set.

and:

xlog_print_trans_inode() has a special case for 2
specific op_head->oh_len lengths.  If it matches
sizeof(xfs_inode_log_format_32_t) or
sizeof(xfs_inode_log_format_64_t), it assumes that
it's got an inode, and attempts to convert it and
print it accordingly.

However, if we arrive here via an op header which
is continued, then the length is simply a continuation
of the previous op, and it might *randomly* match the
size of one of the inode log formats, and thus get parsed
incorrectly.

Test both of these cases.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
295 [new file with mode: 0644]
295.out [new file with mode: 0644]
group