lkml.org 
[lkml]   [1999]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] buffer.c -> flushtime == 0 make no sense
The flushtime field make sense only if the buffer is dirty and the only
place that should touch flushtime is mark_buffer_dirty to set the timeout
properly _if_ the buffer was not previously dirty. And the only place that
should read flushtime is sync_old_buffers _only_ if the buffer is dirty
(and if the buffer is dirty it means that flushtime is been set properly
in the past).

Setting flushtime to zero make no sense and if it would make sense it
would be a jiffy-wrap bug.

This patch cleanup the flushtime handling in 2.3.15-pre2.

--- 2.3.15-pre2-flushtime/fs/buffer.c.~1~ Thu Aug 12 02:53:23 1999
+++ 2.3.15-pre2-flushtime/fs/buffer.c Mon Aug 23 18:49:16 1999
@@ -227,7 +227,6 @@
continue;

atomic_inc(&bh->b_count);
- bh->b_flushtime = 0;
spin_unlock(&lru_list_lock);
ll_rw_block(WRITE, 1, &bh);
atomic_dec(&bh->b_count);
@@ -437,7 +436,6 @@
}
if (atomic_read(&bh->b_count))
continue;
- bh->b_flushtime = 0;
clear_bit(BH_Protected, &bh->b_state);
clear_bit(BH_Uptodate, &bh->b_state);
clear_bit(BH_Dirty, &bh->b_state);
@@ -652,7 +650,6 @@
clear_bit(BH_Dirty, &bh->b_state);
clear_bit(BH_Uptodate, &bh->b_state);
clear_bit(BH_Req, &bh->b_state);
- bh->b_flushtime = 0;
}
if (atomic_read(&bh->b_count) == 0) {
__remove_from_queues(bh);
@@ -678,7 +675,6 @@
void init_buffer(struct buffer_head *bh, bh_end_io_t *handler, void *dev_id)
{
bh->b_list = BUF_CLEAN;
- bh->b_flushtime = 0;
bh->b_end_io = handler;
bh->b_dev_id = dev_id;
}
@@ -792,12 +788,8 @@

repeat:
bh = get_hash_table(dev, block, size);
- if (bh) {
- if (!buffer_dirty(bh)) {
- bh->b_flushtime = 0;
- }
+ if (bh)
goto out;
- }

isize = BUFSIZE_INDEX(size);
spin_lock(&free_list[isize].lock);
@@ -1132,7 +1124,6 @@

bh->b_data = (char *) (page+offset);
bh->b_list = BUF_CLEAN;
- bh->b_flushtime = 0;
bh->b_end_io = end_buffer_io_bad;
}
return head;
@@ -2324,7 +2315,6 @@
continue;

/* OK, now we are committed to write it out. */
- bh->b_flushtime = 0;
atomic_inc(&bh->b_count);
spin_unlock(&lru_list_lock);
ll_rw_block(WRITE, 1, &bh);
@@ -2448,7 +2438,6 @@

major = MAJOR(bh->b_dev);
written++;
- bh->b_flushtime = 0;

/*
* For the loop major we can try to do asynchronous writes,
Andrea


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.025 / U:1.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site