From: Manish K. <mka...@gm...> - 2007-12-20 17:23:12
|
Hi, I was writing a small filesystem module. But whenever i try to mount it on -o loop i get the device as busy. I don't know what is using the /dev/loop0. Below is the error. [root@localhost fs]# mount -t myfs myfs_device mnt -o loop ioctl: LOOP_CLR_FD: Device or resource busy mount: permission denied [root@localhost fs]# EIP: 0073:[<080a8ca5>] CPU: 0 Not tainted ESP: 007b:088b7f00 EFLAGS: 00210202 Not tainted EAX: 6b6b6b6b EBX: 096d32b8 ECX: 00000000 EDX: 096d32f4 ESI: 096d32f4 EDI: 088b7f3c EBP: 088b7f08 DS: 007b ES: 007b 081ecbbc: [<0806a584>] show_regs+0xb4/0xb9 081ecbe8: [<080588c3>] segv+0x60/0x272 081ecc8c: [<0805885e>] segv_handler+0x55/0x5a 081eccac: [<080681b8>] sig_handler_common_skas+0xd4/0xfc 081eccd4: [<080651d4>] sig_handler+0x34/0x44 081eccec: [<08065366>] handle_signal+0x4c/0x7a 081ecd0c: [<08066f6b>] hard_handler+0xf/0x14 081ecd1c: [<ffffe420>] _etext+0xf7e70304/0x0 Kernel panic - not syncing: Segfault with no mm EIP: 0073:[<ffffe410>] CPU: 0 Not tainted ESP: 007b:b7e2cfb4 EFLAGS: 00200246 Not tainted EAX: 00000000 EBX: 0000455b ECX: 00000013 EDX: 0000455b ESI: 00004557 EDI: 00000011 EBP: b7e2cfd8 DS: 007b ES: 007b 081ecb2c: [<0806a584>] show_regs+0xb4/0xb9 081ecb58: [<08058d18>] panic_exit+0x25/0x3f 081ecb6c: [<0807bab8>] notifier_call_chain+0x21/0x46 081ecb8c: [<0807bb53>] __atomic_notifier_call_chain+0x17/0x19 081ecba8: [<0807bb6a>] atomic_notifier_call_chain+0x15/0x17 081ecbc4: [<08070876>] panic+0x52/0xdd 081ecbe4: [<0805896d>] segv+0x10a/0x272 081ecc8c: [<0805885e>] segv_handler+0x55/0x5a 081eccac: [<080681b8>] sig_handler_common_skas+0xd4/0xfc 081eccd4: [<080651d4>] sig_handler+0x34/0x44 081eccec: [<08065366>] handle_signal+0x4c/0x7a 081ecd0c: [<08066f6b>] hard_handler+0xf/0x14 081ecd1c: [<ffffe420>] _etext+0xf7e70304/0x0 Any suggestions ?? -- Thanks & Regards, ******************************************** Manish Katiyar ( http://mkatiyar.googlepages.com ) 3rd Floor, Fair Winds Block EGL Software Park Off Intermediate Ring Road Bangalore 560071, India *********************************************** |
From: Jeff D. <jd...@ad...> - 2007-12-21 21:34:26
|
On Thu, Dec 20, 2007 at 10:53:04PM +0530, Manish Katiyar wrote: > I was writing a small filesystem module. But whenever i try to mount > it on -o loop i get the device as busy. I don't know what is using the > /dev/loop0. > > Below is the error. > > [root@localhost fs]# mount -t myfs myfs_device mnt -o loop > ioctl: LOOP_CLR_FD: Device or resource busy > mount: permission denied You have loop support configured in? Jeff -- Work email - jdike at linux dot intel dot com |
From: Manish K. <mka...@gm...> - 2007-12-22 17:00:31
|
Hi, If the links are obsolete, then from where to download the latest patches for UML... Also please someone suggest me what all patches do i need to apply. I am using 2.6.23.11 vanilla kernel. I dont need much of networking stuff working in my uml. All i am testing is some file system modules using gdb. Do I need the skas patches ? Thanks in advance On Dec 22, 2007 9:19 PM, Jeff Dike <jd...@ad...> wrote: > On Sat, Dec 22, 2007 at 07:41:09PM +0530, Manish Katiyar wrote: > > Hi Jeff, > > > > I chose the default options while kernel building. Do I need to do > > anything specific to enable loop support ? ..What should i check to > > see if it is enabled or not ?. > > % grep LOOP arch/um/defconfig > CONFIG_BLK_DEV_LOOP=m > > So you can either modprobe the module or configure it as built-in. > > > also > > http://user-mode-linux.sourceforge.net/dl-ists.html link is not > > working to download the patches. Could you please check if the link is > > broken. > > Those links are all obsolete anyway. > > > Jeff > > -- > Work email - jdike at linux dot intel dot com > -- Thanks & Regards, ******************************************** Manish Katiyar ( http://mkatiyar.googlepages.com ) 3rd Floor, Fair Winds Block EGL Software Park Off Intermediate Ring Road Bangalore 560071, India *********************************************** |
From: Jeff D. <jd...@ad...> - 2007-12-22 17:40:22
|
On Sat, Dec 22, 2007 at 10:30:27PM +0530, Manish Katiyar wrote: > If the links are obsolete, then from where to download the latest > patches for UML... kernel.org > Also please someone suggest me what all patches do > i need to apply. None. > I am using 2.6.23.11 vanilla kernel. I dont need > much of networking stuff working in my uml. All i am testing is some > file system modules using gdb. Do I need the skas patches ? No. Jeff -- Work email - jdike at linux dot intel dot com |
From: Manish K. <mka...@gm...> - 2007-12-23 10:09:33
|
Hi, I was trying to mount my test filesystem module on the loopback using the command #mount -t myfs /tmp/testfs /tmp/mount -o loop ioctl: LOOP_CLR_FD: Device or resource busy mount: permission denied However it always fails with the above error. I am trying this in an UML environment and have the loop support enabled. While trying to debug the issue I saw that the value of bdev pointer in the function bd_claim is different when it returns back to get_sb_bdev (See the gdb trace below). Values of interest are marked with <<== identifier. Any suggestions why this could be happening. bd_claim (bdev=0x907ba38, holder=0x28800d60) at fs/block_dev.c:660 660 { (gdb) n 665 if (bdev->bd_holder == holder) (gdb) p bdev->bd_holder $10 = (void *) 0x0 (gdb) n 667 else if (bdev->bd_holder != NULL) (gdb) 669 else if (bdev->bd_contains == bdev) (gdb) 685 bdev->bd_contains->bd_holders ++; (gdb) p bdev->bd_contains $11 = (struct block_device *) 0x907ba38 (gdb) p bdev $12 = (struct block_device *) 0x907ba38 <<==== value different here (gdb) n 687 bdev->bd_holders++; (gdb) 686 bdev->bd_contains->bd_holder = bd_claim; (gdb) 688 bdev->bd_holder = holder; (gdb) 692 } (gdb) open_bdev_excl (path=0x27744000 "/dev/loop0", flags=0, holder=0x28800d60) at fs/block_dev.c:1437 1437 if (error) (gdb) 1445 } (gdb) get_sb_bdev (fs_type=0x28800d60, flags=0, dev_name=0x27744000 "/dev/loop0", data=0x27743000, fill_super=0x288000d4, mnt=0x9082918) at fs/super.c:739 739 if (IS_ERR(bdev)) (gdb) p *bdev $13 = {bd_dev = 151551040, bd_inode = 0x10, bd_openers = 32, bd_mutex = {count = {counter = 0}, wait_lock = { raw_lock = {<No data fields>}}, wait_list = {next = 0x38, prev = 0x4924925}}, bd_mount_sem = {count = {counter = 338944}, sleepers = 67, wait = {lock = {raw_lock = {<No data fields>}}, task_list = {next = 0x0, prev = 0x0}}}, bd_inodes = {next = 0x1, prev = 0x20}, bd_holder = 0x0, bd_holders = 296, bd_holder_list = {next = 0x0, prev = 0x0}, bd_contains = 0x81cacb8, bd_block_size = 136310244, bd_part = 0x8803164, bd_part_count = 1635, bd_invalidated = 1723, bd_disk = 0x668, bd_list = {next = 0x19, prev = 0x0}, bd_inode_backing_dev_info = 0x0, bd_private = 0} (gdb) p error $14 = <value optimized out> (gdb) p bdev $15 = (struct block_device *) 0x8803080 <<====== value different here.. (gdb) n Thanks in advance On Dec 23, 2007 4:06 AM, Jeff Dike <jd...@ad...> wrote: > On Sun, Dec 23, 2007 at 12:36:02AM +0530, Manish Katiyar wrote: > > Why is it not able to allocate memory ??/ > > The obvious reason - there is no memory to allocate and you gave it no > swap? So give it more memory or some swap space. > > > Jeff > > -- > Work email - jdike at linux dot intel dot com > -- Thanks & Regards, ******************************************** Manish Katiyar ( http://mkatiyar.googlepages.com ) 3rd Floor, Fair Winds Block EGL Software Park Off Intermediate Ring Road Bangalore 560071, India *********************************************** |