--- linux-2.6.12-rc5-mm1/drivers/dlm/lock.c.old 2005-05-25 23:30:10.000000000 +0200 +++ linux-2.6.12-rc5-mm1/drivers/dlm/lock.c 2005-05-25 23:30:21.000000000 +0200 @@ -104,6 +104,29 @@ const int __dlm_compat_matrix[8][8] = { {0, 0, 0, 0, 0, 0, 0, 0} /* PD */ }; +/* + * This defines the direction of transfer of LVB data. + * Granted mode is the row; requested mode is the column. + * Usage: matrix[grmode+1][rqmode+1] + * 1 = LVB is returned to the caller + * 0 = LVB is written to the resource + * -1 = nothing happens to the LVB + */ + + +const int dlm_lvb_operations[8][8] = { + /* UN NL CR CW PR PW EX PD*/ + { -1, 1, 1, 1, 1, 1, 1, -1 }, /* UN */ + { -1, 1, 1, 1, 1, 1, 1, 0 }, /* NL */ + { -1, -1, 1, 1, 1, 1, 1, 0 }, /* CR */ + { -1, -1, -1, 1, 1, 1, 1, 0 }, /* CW */ + { -1, -1, -1, -1, 1, 1, 1, 0 }, /* PR */ + { -1, 0, 0, 0, 0, 0, 1, 0 }, /* PW */ + { -1, 0, 0, 0, 0, 0, 0, 0 }, /* EX */ + { -1, 0, 0, 0, 0, 0, 0, 0 } /* PD */ +}; + + #define modes_compat(gr, rq) \ __dlm_compat_matrix[(gr)->lkb_grmode + 1][(rq)->lkb_rqmode + 1] --- linux-2.6.12-rc5-mm1/drivers/dlm/lvb_table.h.old 2005-05-25 23:30:34.000000000 +0200 +++ linux-2.6.12-rc5-mm1/drivers/dlm/lvb_table.h 2005-05-25 23:32:35.000000000 +0200 @@ -13,26 +13,7 @@ #ifndef __LVB_TABLE_DOT_H__ #define __LVB_TABLE_DOT_H__ -/* - * This defines the direction of transfer of LVB data. - * Granted mode is the row; requested mode is the column. - * Usage: matrix[grmode+1][rqmode+1] - * 1 = LVB is returned to the caller - * 0 = LVB is written to the resource - * -1 = nothing happens to the LVB - */ - -extern const int dlm_lvb_operations[8][8] = { - /* UN NL CR CW PR PW EX PD*/ - { -1, 1, 1, 1, 1, 1, 1, -1 }, /* UN */ - { -1, 1, 1, 1, 1, 1, 1, 0 }, /* NL */ - { -1, -1, 1, 1, 1, 1, 1, 0 }, /* CR */ - { -1, -1, -1, 1, 1, 1, 1, 0 }, /* CW */ - { -1, -1, -1, -1, 1, 1, 1, 0 }, /* PR */ - { -1, 0, 0, 0, 0, 0, 1, 0 }, /* PW */ - { -1, 0, 0, 0, 0, 0, 0, 0 }, /* EX */ - { -1, 0, 0, 0, 0, 0, 0, 0 } /* PD */ -}; +extern const int dlm_lvb_operations[8][8]; #endif