Messages in this thread | | | Date | Fri, 8 Apr 2011 12:37:56 +0100 | Subject | Re: [PATCH] sr: Ensure disk is revalidated when media changes | From | Stefan Hajnoczi <> |
| |
On Wed, Apr 6, 2011 at 11:06 AM, Tejun Heo <tj@kernel.org> wrote: > On Tue, Apr 05, 2011 at 12:21:30PM +0530, Amit Shah wrote: >> > But I don't think this is the correct place to do it. The problem >> > happens because block layer consumes the event but doesn't remember it >> > when the time for revalidation comes. It should be done by block >> > layer, not sr. Hmmm... looking at the code, the new disk event code >> > should handle this correctly. Was 2.6.38 showing the problem too? >> >> Yes, 2.6.38 shows the same problem. I went back to ancient kernels >> (2.6.31 on Fedora 11-alpha) which had the previous media_changed >> infrastructure and those places too show the same behaviour (with the >> TEST_UNIT_READY way of detecting media changes). > > Can you please the patch attached in the following bz and see whether > it makes any difference? > > https://bugzilla.kernel.org/show_bug.cgi?id=13029
Hi Tejun, There is a related issue I have been discussing with Amit: https://lkml.org/lkml/2011/3/23/156
On media change the inode size is not updated by the sr driver or the universal cdrom driver. A userspace process that holds a /dev/sr0 file descriptor open across media change causes all processes on the system to see the old medium size when they do lseek(fd, 0, SEEK_END).
I think it would make sense to refresh the inode size on media change so that even open file descriptors see the new size and a single process cannot force a stale value for all other userspace processes on the system.
Thoughts?
Stefan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |