From 592c739ecaece1f854712ede8d4a049c7d249c3a Mon Sep 17 00:00:00 2001 From: chas williams - CONTRACTOR Date: Mon, 7 Jan 2013 14:59:53 -0500 Subject: [PATCH] LU-1812 ext4: ec_type has been dropped from ext4_ext_cache In short, EXT4_EXT_CACHE_EXTENT is indicated when both ee_len != 0 and ee_start != 0. see kernel commit b05e6ae58a13b56e3e11882c1fc71948c9b29760 Signed-off-by: chas williams - CONTRACTOR Change-Id: I88bb07c0e09ea13ac17399edb47de8e16f105543 Reviewed-on: http://review.whamcloud.com/4970 Reviewed-by: James Simmons Tested-by: Hudson Tested-by: Maloo Reviewed-by: Peng Tao Reviewed-by: Niu Yawei Reviewed-by: Andreas Dilger --- lustre/lvfs/fsfilt_ext3.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lustre/lvfs/fsfilt_ext3.c b/lustre/lvfs/fsfilt_ext3.c index c1c0e19..10ebac1 100644 --- a/lustre/lvfs/fsfilt_ext3.c +++ b/lustre/lvfs/fsfilt_ext3.c @@ -299,7 +299,12 @@ static int ext3_ext_new_extent_cb(struct ext3_ext_base *base, unsigned long count; handle_t *handle; - if (cex->ec_type == EXT3_EXT_CACHE_EXTENT) { +#ifdef EXT3_EXT_CACHE_EXTENT + if (cex->ec_type == EXT3_EXT_CACHE_EXTENT) +#else + if ((cex->ec_len != 0) && (cex->ec_start != 0)) +#endif + { err = EXT_CONTINUE; goto map; } @@ -393,10 +398,16 @@ map: CERROR("hmm. why do we find this extent?\n"); CERROR("initial space: %lu:%u\n", bp->start, bp->init_num); +#ifdef EXT3_EXT_CACHE_EXTENT CERROR("current extent: %u/%u/%llu %d\n", cex->ec_block, cex->ec_len, (unsigned long long)cex->ec_start, cex->ec_type); +#else + CERROR("current extent: %u/%u/%llu\n", + cex->ec_block, cex->ec_len, + (unsigned long long)cex->ec_start); +#endif } i = 0; if (cex->ec_block < bp->start) @@ -406,7 +417,12 @@ map: i, cex->ec_len); for (; i < cex->ec_len && bp->num; i++) { *(bp->blocks) = cex->ec_start + i; - if (cex->ec_type == EXT3_EXT_CACHE_EXTENT) { +#ifdef EXT3_EXT_CACHE_EXTENT + if (cex->ec_type == EXT3_EXT_CACHE_EXTENT) +#else + if ((cex->ec_len != 0) && (cex->ec_start != 0)) +#endif + { *(bp->created) = 0; } else { *(bp->created) = 1; -- 1.8.3.1