Messages in this thread | | | Date | Mon, 06 Mar 2000 07:47:32 +0000 | From | Tigran Aivazian <> | Subject | Re: invalidate_buffers() not working? |
| |
Andrea Arcangeli wrote: > > On Sat, 4 Mar 2000, Tigran Aivazian wrote: > > > d) now comes the interesting bit. Even after all the buffers have been > >invalidated, those threads still continue happily reading and claiming > >that the data is correct (i.e. as in the old disk). > > What do you mean with "claim". You never check the contents of the > bh->b_data that you get from bread.
I do, in the thread_work_slow() version, i.e. The test1.c I released happen to call thread_work_fast() but I assume it is obvious that one just switched to the slow version if needed (otherwise why would it be there :)
> Anyway you should always call the bd_op->open/release of the blockdevice > before/after calling bread/brelse. All the media_change stuff is done at > blockdevice open time. If you don't open it, the media_change won't be > detected.
Ah, I see. Thank you, that answers my question.
Regards, Tigran.
- 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/
| |