Hello Gleb, Thanks for the report! Please, find the fixup in the attachment. Edward. P.S. Reiser4 debug mode results in dramatic performance drop when tail packing / compression is on. Use it only when something goes wrong... On 01/26/2013 10:36 AM, Gleb Baryshev wrote:
Hello, I get a kernel panic when I start Opera browser on Linux 3.6.11 patched with reiser4-for-3.6.4. The filesystem is ccreg and used for /. Here are a couple of screenshots attached with assertions and stack traces. Regards, Gleb
Signed-off-by: Edward Shishkin <edward.shishkin@xxxxxxxxx> --- fs/reiser4/plugin/file/cryptcompress.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- linux-3.7.1.orig/fs/reiser4/plugin/file/cryptcompress.c +++ linux-3.7.1/fs/reiser4/plugin/file/cryptcompress.c @@ -2020,8 +2020,7 @@ static int balance_dirty_page_cluster(st assert("edward-724", inode != NULL); assert("edward-725", cryptcompress_inode_ok(inode)); - assert("edward-1547", - nr_dirtied != 0 && nr_dirtied <= cluster_nrpages(inode)); + assert("edward-1547", nr_dirtied <= cluster_nrpages(inode)); /* set next window params */ move_update_window(inode, clust, off, to_file); @@ -2032,6 +2031,8 @@ static int balance_dirty_page_cluster(st assert("edward-726", clust->hint->lh.owner == NULL); info = cryptcompress_inode_data(inode); + if (nr_dirtied == 0) + return 0; mutex_unlock(&info->checkin_mutex); reiser4_throttle_write(inode, nr_dirtied); mutex_lock(&info->checkin_mutex);