[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

0.0.7a + rh2.2.19: help solve rejects



I get 2 rejects applying 2.2.19-ext3 to latest errata rh 2.2.19 kernel.

1)
fs/buffer.c

Should I put "J_ASSERT(buf->b_count > 0);" before or after " *(int *)0 = 0;"?

===== ext3 0.0.7a patch
--- 934,946 ---- 
 
    if (buf->b_count) {
        buf->b_count--;
+       if (!buf->b_count &&
+           (buf->b_jlist != BJ_None && buf->b_jlist != BJ_Shadow && buf->b_jlis
t != BJ_Data))
+           J_ASSERT (!test_bit(BH_JWrite, &buf->b_state));
        return;
    }
    printk("VFS: brelse: Trying to free free buffer\n");
+   J_ASSERT(buf->b_count > 0);
  }
 
===== redhat latest 2.2.19
    if (buf->b_count) {
        buf->b_count--;
        return;
    }
    printk("VFS: brelse: Trying to free free buffer\n");
    *(int *)0 = 0;
}
 

2)
include/linux/fs.h

Can I still just increase by one from BH_Temp on as advised here
https://listman.redhat.com/pipermail/ext3-users/2001-April/000448.html

===== ext3 patch
--- 197,221 ----
  #define BH_Req        3   /* 0 if the buffer has been invalidated */
  #define BH_Protected  6   /* 1 if the buffer is protected */
  #define BH_Req        3   /* 0 if the buffer has been invalidated */
  #define BH_Protected  6   /* 1 if the buffer is protected */
  #define BH_Wait_IO    7   /* 1 if we should throttle on this buffer */
+ #define BH_Temp       8   /* 1 if the buffer is temporary (unlinked) */
+ #define BH_JWrite 9   /* 1 if being written to log (@@@ DEBUGGING) */
+ #define BH_QuickFree  10  /* 1 if alloced and freed quickly (see below)*/
+ #define BH_Alloced    11  /* 1 if buffer has been allocated */
+ #define BH_Freed  12  /* 1 if buffer has been freed (truncated) */
+ #define BH_Revoked    13  /* 1 if buffer has b


===== redhat latest 2.2.19
/* bh state bits */
#define BH_Uptodate 0   /* 1 if the buffer contains valid data */
#define BH_Dirty    1   /* 1 if the buffer is dirty */
#define BH_Lock     2   /* 1 if the buffer is locked */
#define BH_Req      3   /* 0 if the buffer has been invalidated */
#define BH_Protected    6   /* 1 if the buffer is protected */
#define BH_Wait_IO  7   /* 1 if we should throttle on this buffer */
#define BH_LowPrio  8   /* 1 if the buffer is lowprio */


Thanks

-- 
giulioo pobox com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]