Mounting block device fails.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am working on translation layer for flash. For the purpose testing I am using a disk file to simulate the flash behavior. So every read and write on the block device finally goes to a disk file, something similar to loop device, but in addition maintaining the flash property.

I am able to create the file system on the device (/dev/ftl) but when I try to mount the device it fails with error "Invalid Argument".

I thought it is failing to read the super block of the file systems, but it seems like it did not fail in superblock read

# strace -o out mount -t ext2 /dev/ftl /mntpt/
[  175.192033] Opening the device.
[  175.193599] IftlIoRead: offset=0x400 Length=0x400
[  175.193875] OffsetWithinPage: 400
[  175.195104] Read pos=1002535424, length=8192
[  175.195474] 0000 0001 0000 0004 3333 0000 eea5 0003 fff5 0000 0000 0000 0002 0000 0002 0000 8000 0000 8000 0000 2000 0000 0000 0000 8a9e 4acd 0000 0020 ef53 0001 0001 0000 8a9e 4acd 4e00 00ed 0000 0000 0001 0000 0000 0000 000b 0000 0100 0000 0038 0000 0002 0000 0003 0000 a037 8e0c d6b3 de11 abb8 0635 bff9 2b36 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 003f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 a037 8f0c d6b3 de11 abb8 0635 bff9 2b36 0001 0000 0000 0000 0000 0000 8a9e 4acd 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 001c 001c 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 [  175.215929] Closing the device.
mount: mounting /dev/ftl on /mntpt/ failed: Invalid argument

I tried printing the data in hex format just to make sure proper ext2 magic code in present in the superblock read from the flash device.  "ef53" is the magic code of ext2 superblock, ftl device is correctly reading the magic code

# cat out
execve("/bin/mount", ["mount", "-t", "ext2", "/dev/ftl", "/mntpt/"], [/* 4 vars */]) = 0
uname({sys="Linux", node="(none)", ...}) = 0
brk(0)                                  = 0x72f000
brk(0x72ff40)                           = 0x72ff40
arch_prctl(ARCH_SET_FS, 0x72f880)       = 0
open("/dev/urandom", O_RDONLY)          = -1 ENOENT (No such file or directory)
brk(0x750f40)                           = 0x750f40
brk(0x751000)                           = 0x751000
getuid()                                = 0
getuid()                                = 0
geteuid()                               = 0
stat("/dev/ftl", {st_mode=S_IFBLK|0644, st_rdev=makedev(254, 0), ...}) = 0
mount("/dev/ftl", "/mntpt/", "ext2", MS_SILENT, "") = -1 EINVAL (Invalid argument)
vfork()                                 = 869
--- SIGCHLD (Child exited) @ 0 (0) ---
write(2, "mount: mounting /dev/ftl on /mntp"..., 61) = 61
exit_group(-1)                          = ?

What could be the reason of failure of mount?

Thanks and Regards,
Prasad


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux