On 12/01/2015 04:32 PM, Theodore Ts'o wrote:
On Tue, Dec 01, 2015 at 03:22:02PM +0100, Vegard Nossum wrote:
I'm a bit unsure about whether this is really a bug or not; it looks
like the filesystem is set to panic on error but I still find it weird
that this behaviour is allowed by default (would it still panic if
somebody inserted this filesystem on a USB stick and it got automounted?).
If the distribution cares about this, it should automount with mount
option "errors=remount-ro".
I call mount() with mountflags=0 and data=NULL followed by opendir() and
readdir(), but if I just a manual mount + ls from the shell I don't see
the panic at all, just some of the errors, so I thought maybe there's
some sort of race somewhere?
I'm not able to reproduce this; I'm getting EACCES to the opendir().
But looking at your kernel messages, it's not a bug.
Alright, I'll add errors=remount-ro to my scripts.
Strange that you get EACCESS, without errors=remount-ro I get:
open("/dev/loop0", O_RDWR) = 3
mkdir("/mnt/ext4", 0755) = -1 EEXIST (File exists)
open("ext4.0", O_RDWR) = 4
ioctl(3, LOOP_SET_FD, 0x4) = 0
close(4) = 0
ioctl(3, LOOP_SET_STATUS64, {offset=0, number=0, flags=0,
file_name="ext4.0", ...}) = 0
mount("/dev/loop0", "/mnt/ext4", "ext4", 0, NULL) = 0
open("/mnt/ext4", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
getdents(4, <panic>
If I do add errors=remount-ro, I get:
open("/dev/loop0", O_RDWR) = 3
mkdir("/mnt/ext4", 0755) = -1 EEXIST (File exists)
open("ext4.0", O_RDWR) = 4
ioctl(3, LOOP_SET_FD, 0x4) = 0
close(4) = 0
ioctl(3, LOOP_SET_STATUS64, {offset=0, number=0, flags=0,
file_name="ext4.0", ...}) = 0
mount("/dev/loop0", "/mnt/ext4", "ext4", 0, "errors=remount-ro") = 0
open("/mnt/ext4", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
Thanks for the quick response.
Vegard
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html