You can't run fsck on a mounted filesystem - ever.
The problem is that the mounted filesystem has data blocks in various buffers directory caches, free lists ...
fsck goes directly to the device interface (in this case, the logical volume) and modifies data blocks directly - and thus does not modify any that are held in memory.
By itself, this isn't a problem for a read-only filesystem... But you can't remount it (the buffers are not dropped - just the read only flag gets cleared). You also can't dismount it - as THEN the blocks would get written back to the filesystem, overwriting the corrections that fsck created.
You first have to dismount the filesystem... Then you can run fsck on it. After which the mount will load fresh data from the volume.
The only time fsck on a read-only volume works, is if you do a hard reboot after doing the fsck. This normally is only done to the root filesystem - as the fsck utility is usually on the root filesystem...
But it is a hard reboot that is required - as in pressing a reset switch or powering off the system. Laptops are a bit tricky as usually the reset/power is actually just an event requesting a graceful reboot... and thus would NOT be appropriate with using fsck.