On Mon, Nov 04, 2013 at 01:06:27AM -0800, Christoph Hellwig wrote: > On Wed, Oct 30, 2013 at 03:31:12PM +1100, Dave Chinner wrote: > > When we set the current Io cursor to point at a dquot block, verify > > that the dquot CRC is intact. And prior to writing such an IO > > cursor, calculate the dquot CRC. > > > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > > --- > > db/io.c | 5 ++++- > > db/io.h | 1 + > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/db/io.c b/db/io.c > > index 8ddb5e5..7281148 100644 > > --- a/db/io.c > > +++ b/db/io.c > > @@ -464,7 +464,9 @@ write_cur(void) > > > > if (iocur_top->ino_buf) > > libxfs_dinode_calc_crc(mp, iocur_top->data); > > - > > + if (iocur_top->dquot_buf) > > + xfs_update_cksum(iocur_top->data, sizeof(struct xfs_dqblk), > > + XFS_DQUOT_CRC_OFF); > > The patch looks good to get going, but it seems we'd be better off going > through an ops vector here in some form.. Potentially - if we need a third object-within-a-buffer verification then it will be worthwhile to do this. However, for the moment we only have to support inodes and dquots and so for the moment I don't see that further abstraction is necessary. Hence right now I'd prefer to make it explicit that we are doing these CRC calculations here and just keep in mind that if we are going to add more we need to abstract it into an ops vector at that time... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs