Whamcloud - gitweb
LU-1812 ext4: ec_type has been dropped from ext4_ext_cache
authorchas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Mon, 7 Jan 2013 19:59:53 +0000 (14:59 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 27 Feb 2013 04:39:01 +0000 (23:39 -0500)
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 <chas@cmf.nrl.navy.mil>
Change-Id: I88bb07c0e09ea13ac17399edb47de8e16f105543
Reviewed-on: http://review.whamcloud.com/4970
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Peng Tao <bergwolf@gmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/lvfs/fsfilt_ext3.c

index c1c0e19..10ebac1 100644 (file)
@@ -299,7 +299,12 @@ static int ext3_ext_new_extent_cb(struct ext3_ext_base *base,
         unsigned long count;
         handle_t *handle;
 
         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;
         }
                 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);
                         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);
                         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)
                 }
                 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;
                                         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;
                                 *(bp->created) = 0;
                         } else {
                                 *(bp->created) = 1;