Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread Florian Klink
Am 03.10.2013 02:33, schrieb sf...@users.sourceforge.net:
 Florian Klink:
 When compiling a kernel with BLK_DEV_LOOP=m and AUFS_FS=y, I see at bootup:

 aufs au_loopback_init:136:swapper/0[1]: loop_backing_file() is not defined
 
 Ok, I see your point.
 Aufs will be unusable on such system.
 How do you think about moving symbol_request(loop_backing_file) from
 au_loopback_init() to au_test_loopback_overlap(), and no changes about
 Kconfig?
 It will postpone the symbol resolution and loading loop module until a
 user adds a loopback-mounted branch to aufs.
 Since I am afraid that disabling AUFS_BDEV_LOOP while BLK_DEV_LOOP=m
 will make users confused very much, I don't think it a good idea to
 change Kconfig as your patch.
 
 
 Thanx
 J. R. Okajima



I'm also happy with this runtime loading approach :-)

I compiled patched kernel with AUFS_FS=y and BLK_DEV_LOOP=m, and the
dmesg error does not appear at boot time.

But it seems to still load loop module as soon as I mount any branch
with aufs.

To test, I tried to mount two branches together, that are not on a
loopback filesystem. The mount succeeded, but loop module was
loaded, even though there was no loopback-mounted branch involved
(loopback filesystems are filesystems in a file, not device, mounted
with mount -o loop, right ? So normal file system normally shouldn't...).

I'm not really into kernel code, but think this happens because
test_overlap() from branch.c always calls au_test_loopback_overlap()
when you add any branch, not only a when adding a loopback branch.
I there should be some check if it's really a loop branch, before
loading everything (if that is possible).

I tested again on a kernel with the same configuration, but without loop
module file existing in /lib/modules/... (to simulate for example an
initramfs that just wants to make a ro filesystem read-write by a tmpfs
or similar and therefore has no loop module inside). I got the following
error:

# mount -t aufs none root -o br=cow=rw:../../images/arch-base=ro
mount: wrong fs type, bad option, bad superblock on none,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

# dmesg
[   69.996741] aufs au_test_loopback_overlap:39:mount[1519]:
loop_backing_file() is not defined
[   69.996746] aufs test_add:279:mount[1519]: ../../images/arch-base is
overlapped

# cat /proc/mounts

rootfs / rootfs rw 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
dev /dev devtmpfs
rw,nosuid,relatime,size=1964680k,nr_inodes=491170,mode=755 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
/dev/mapper/root / ext4 rw,relatime,discard,data=ordered 0 0
securityfs /sys/kernel/security securityfs
rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts
rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /sys/fs/cgroup tmpfs rw,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup
rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
efivarfs /sys/firmware/efi/efivars efivarfs
rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/cpuset cgroup
rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup
rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
cgroup /sys/fs/cgroup/memory cgroup
rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/devices cgroup
rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup
rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/net_cls cgroup
rw,nosuid,nodev,noexec,relatime,net_cls 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/bfqio cgroup rw,nosuid,nodev,noexec,relatime,bfqio 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs
rw,relatime,fd=35,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /tmp tmpfs rw 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/sda2 /boot ext2 rw,relatime 0 0
/dev/sda1 /boot/efi vfat
rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse
rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0


So in my opinion, if it should be made possible to compile aufs with
loop as a run-time-dependency, it should still work when it's not able
to access the dependency.

Florian



 
 
 
 --
 October Webinars: Code for Performance
 Free Intel webinars 

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread sfjro

Florian Klink:
 But it seems to still load loop module as soon as I mount any branch
 with aufs.

Exactly.


 I'm not really into kernel code, but think this happens because
 test_overlap() from branch.c always calls au_test_loopback_overlap()
 when you add any branch, not only a when adding a loopback branch.
 I there should be some check if it's really a loop branch, before
 loading everything (if that is possible).

Unfortunately, without loop module, it becomes impossible to check
whether the added branch is loopback mounted or not since linux-3.11.


 I tested again on a kernel with the same configuration, but without loop
 module file existing in /lib/modules/... (to simulate for example an
 initramfs that just wants to make a ro filesystem read-write by a tmpfs
 or similar and therefore has no loop module inside). I got the following
 error:
:::
 [   69.996741] aufs au_test_loopback_overlap:39:mount[1519]:
 loop_backing_file() is not defined
 [   69.996746] aufs test_add:279:mount[1519]: ../../images/arch-base is
 overlapped

In this case, the second message ... is overlapped is meaningless.
I will stop it.


 So in my opinion, if it should be made possible to compile aufs with
 loop as a run-time-dependency, it should still work when it's not able
 to access the dependency.

I think I can understand what you mean.
But I don't agree. The case you mentioned above looks like a broken
system to me since the kernel is complied as BLK_DEV_LOOP=m but there is
no loop module. I don't think it a good idea to support such broken
system.


J. R. Okajima

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread Florian Klink
Am 03.10.2013 14:13, schrieb sf...@users.sourceforge.net:
 
 Florian Klink:
 But it seems to still load loop module as soon as I mount any branch
 with aufs.
 
 Exactly.
 
 
 I'm not really into kernel code, but think this happens because
 test_overlap() from branch.c always calls au_test_loopback_overlap()
 when you add any branch, not only a when adding a loopback branch.
 I there should be some check if it's really a loop branch, before
 loading everything (if that is possible).
 
 Unfortunately, without loop module, it becomes impossible to check
 whether the added branch is loopback mounted or not since linux-3.11.
 
 
 I tested again on a kernel with the same configuration, but without loop
 module file existing in /lib/modules/... (to simulate for example an
 initramfs that just wants to make a ro filesystem read-write by a tmpfs
 or similar and therefore has no loop module inside). I got the following
 error:
   :::
 [   69.996741] aufs au_test_loopback_overlap:39:mount[1519]:
 loop_backing_file() is not defined
 [   69.996746] aufs test_add:279:mount[1519]: ../../images/arch-base is
 overlapped
 
 In this case, the second message ... is overlapped is meaningless.
 I will stop it.

Okay.

 
 
 So in my opinion, if it should be made possible to compile aufs with
 loop as a run-time-dependency, it should still work when it's not able
 to access the dependency.
 
 I think I can understand what you mean.
 But I don't agree. The case you mentioned above looks like a broken
 system to me since the kernel is complied as BLK_DEV_LOOP=m but there is
 no loop module. I don't think it a good idea to support such broken
 system.
 

I wanted to say that it's a little bit strange that aufs needs to load
loop module as soon as it mounts anything (even not loop).

If you can't really find out if the branch is from a loopback directly
by the kernel, can you probably just let aufs check if loop features
exist/are already loaded, before checking the branch itself for overlap?
I'd think you can't be faced with a loopback mountpoint to use as branch
if loop is not known to the kernel ;-)

So probably something like

bool check_if_loopback_overlap(){
if(!kernel_has_loop_already_loaded_or_compiled_in()) {
//kernel doesn't know anything about loop, so branch
//can't be a loopback one
return false
}
//kernel currently has support for loop
else {
symbol_request();...
return really_check_overlap_now();
}
}

If something like that is not possible, I think it should at least be
documented that aufs needs loop module file on first mount if it was
compiled with BLK_DEV_LOOP=m


Florian

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread sfjro
Florian Klink:
 I wanted to say that it's a little bit strange that aufs needs to load
 loop module as soon as it mounts anything (even not loop).

I understand.


 bool check_if_loopback_overlap(){
   if(!kernel_has_loop_already_loaded_or_compiled_in()) {
   //kernel doesn't know anything about loop, so branch
   //can't be a loopback one
   return false
   }
   //kernel currently has support for loop
   else {
   symbol_request();...
   return really_check_overlap_now();
   }
 }

Hmm... You are convincing me...
How about this patch?


J. R. Okajima


a.patch.bz2
Description: BZip2 compressed data
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread Florian Klink
Am 03.10.2013 16:23, schrieb sf...@users.sourceforge.net:
 Florian Klink:
 I wanted to say that it's a little bit strange that aufs needs to load
 loop module as soon as it mounts anything (even not loop).
 
 I understand.
 
 
 bool check_if_loopback_overlap(){
  if(!kernel_has_loop_already_loaded_or_compiled_in()) {
  //kernel doesn't know anything about loop, so branch
  //can't be a loopback one
  return false
  }
  //kernel currently has support for loop
  else {
  symbol_request();...
  return really_check_overlap_now();
  }
 }
 
 Hmm... You are convincing me...
 How about this patch?
 

Nice :-)

With missing loop module file, now I'm still able to union mount my two
regular file systems, thanks a lot!

Florian



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread sfjro

Florian Klink:
 Nice :-)

 With missing loop module file, now I'm still able to union mount my two
 regular file systems, thanks a lot!

Ok.
But this patch will not be included in next Monday release, because my
weekly local tests are almost all completed. There is no time left to
test for next release. So this patch will be released on July 14th
probably.

Thanx for reporting, convincing and testing.

J. R. Okajima

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-03 Thread Florian Klink
Am 03.10.2013 17:01, schrieb sf...@users.sourceforge.net:
 
 Florian Klink:
 Nice :-)

 With missing loop module file, now I'm still able to union mount my two
 regular file systems, thanks a lot!
 
 Ok.
 But this patch will not be included in next Monday release, because my
 weekly local tests are almost all completed. There is no time left to
 test for next release. So this patch will be released on July 14th
 probably.
 
 Thanx for reporting, convincing and testing.
 
 J. R. Okajima
 

No problem! Until then, I can apply the patch on my own...
Its enough to know that it'll come the repository sooner or later.

Thanks for your help and patience :-)

Florian


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-02 Thread Florian Klink
Am 02.10.2013 00:14, schrieb sf...@users.sourceforge.net:
 
 Florian Klink:
 But I looked at it, and unfortunately, it's not enough,
 as BLK_DEV_LOOP=m  AUFS_FS=y will turn
 AUFS_BDEV_LOOP to y, which will obviously not work.
 
 What is wrong?
 Did you confirm any of {build, boot, load, run} error?
 
 
 J. R. Okajima


When compiling a kernel with BLK_DEV_LOOP=m and AUFS_FS=y, I see at bootup:

aufs au_loopback_init:136:swapper/0[1]: loop_backing_file() is not defined

(as the kernel can't automatically load the loop module, because the
root filesystem is not yet mounted at this point).

So AUFS_BDEV_LOOP needs to be disabled in this case - That's basically
what the patch does.


Florian


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-02 Thread sfjro
Florian Klink:
 When compiling a kernel with BLK_DEV_LOOP=m and AUFS_FS=y, I see at bootup:

 aufs au_loopback_init:136:swapper/0[1]: loop_backing_file() is not defined

Ok, I see your point.
Aufs will be unusable on such system.
How do you think about moving symbol_request(loop_backing_file) from
au_loopback_init() to au_test_loopback_overlap(), and no changes about
Kconfig?
It will postpone the symbol resolution and loading loop module until a
user adds a loopback-mounted branch to aufs.
Since I am afraid that disabling AUFS_BDEV_LOOP while BLK_DEV_LOOP=m
will make users confused very much, I don't think it a good idea to
change Kconfig as your patch.


Thanx
J. R. Okajima


a.patch.bz2
Description: BZip2 compressed data
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-01 Thread Florian Klink
Am 01.10.2013 03:28, schrieb sf...@users.sourceforge.net:
 sf...@users.sourceforge.net:
 Florian Klink:
 The error message also appears when both aufs and loop are compiled
 as a module.
 Hmm...
 I am afraid we should consider all combinations of these.
 - aufs (is/is not) a module
 - the source files are from (aufs3-linux/aufs3-standalone).git
   + the system when you build aufs3-standalone.git is running the
 (host/target) kernel
 - loop (is/is not) a module
 Hopefull this patch supports all cases.

 J. R. Okajima

I tested the patch.

It works in almost all cases, but loop needs to be set as a dependency
for aufs in Kconfig.

This also makes kernelconfig smart enough to not allow aufs to be build
in-kernel as long as loop is a module, which would otherwise fail.

I attached a new patch reflecting the changes.

Florian
From fca21a62b1e3b1d3e9cd1a254211e1d87ddbdb4c Mon Sep 17 00:00:00 2001
From: J. R. Okajima hooano...@yahoo.co.jp
Date: Tue, 1 Oct 2013 10:24:17 +0900
Subject: [PATCH] aufs: for 3.11, request loop module

Replace symbol_get() by symbol_request() to force loading loop module.
Add dependency to BLK_DEV_LOOP

Reported-by: Florian Klink flo...@flokli.de
---
 fs/aufs/Kconfig | 1 +
 fs/aufs/loop.c  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/aufs/Kconfig b/fs/aufs/Kconfig
index 6228e27..637d743 100644
--- a/fs/aufs/Kconfig
+++ b/fs/aufs/Kconfig
@@ -1,5 +1,6 @@
 config AUFS_FS
 	tristate Aufs (Advanced multi layered unification filesystem) support
+	depends on BLK_DEV_LOOP
 	help
 	Aufs is a stackable unification filesystem such as Unionfs,
 	which unifies several directories and provides a merged single
diff --git a/fs/aufs/loop.c b/fs/aufs/loop.c
index a5c4e7a..852f67d 100644
--- a/fs/aufs/loop.c
+++ b/fs/aufs/loop.c
@@ -129,7 +129,7 @@ int au_loopback_init(void)
 		goto out;
 
 	err = 0;
-	backing_file_func = symbol_get(loop_backing_file);
+   backing_file_func = symbol_request(loop_backing_file);
 	if (backing_file_func)
 		goto out; /* success */
 
-- 
1.8.4

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-01 Thread sfjro

Florian Klink:
 It works in almost all cases, but loop needs to be set as a dependency
 for aufs in Kconfig.

Why?
AUFS_BDEV_LOOP already sets depends on BLK_DEV_LOOP.


J. R. Okajima

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-10-01 Thread Florian Klink
Am 01.10.2013 09:48, schrieb sf...@users.sourceforge.net:

 Florian Klink:
 It works in almost all cases, but loop needs to be set as a dependency
 for aufs in Kconfig.
 Why?
 AUFS_BDEV_LOOP already sets depends on BLK_DEV_LOOP.


 J. R. Okajima

Yes, you're right, making whole FS_AUFS depend
on BLK_DEV_LOOP is overkill, that's why AUFS_BDEV_LOOP exists.

But I looked at it, and unfortunately, it's not enough,
as BLK_DEV_LOOP=m  AUFS_FS=y will turn
AUFS_BDEV_LOOP to y, which will obviously not work.

I wrote all possible combinations of
BLK_DEV_LOOP and FS_AUFS and how AUFS_BDEV_LOOP
should look like into this table:

BLK_DEV_LOOP | AUFS_FS || AUFS_BDEV_LOOP
-|-||---
   n |   n ||  n
   n |   m ||  n
   n |   y ||  n
   m |   n ||  n
   m |   m ||  y
   m |   y ||  n
   y |   n ||  n
   y |   m ||  y
   y |   y ||  y

which can be expressed as

AUFS_BDEV_LOOP = ((BLK_DEV_LOOP=m  AUFS_FS=m) || (BLK_DEV_LOOP=y  
AUFS_FS=m) || (BLK_DEV_LOOP=y  AUFS_FS=y))
   = ((BLK_DEV_LOOP=m  AUFS_FS=m) || (BLK_DEV_LOOP=y  AUFS_FS))

so I updated the Kconfig for AUFS_BDEV and applied this as a patch :-)

Florian

From 5e953f9daf2730c9bb09f49be089f09d2555181d Mon Sep 17 00:00:00 2001
From: Florian Klink flo...@flokli.de
Date: Tue, 1 Oct 2013 15:19:08 +0200
Subject: [PATCH] aufs: for 3.11, handle BLK_DEV_LOOP=m

Replace symbol_get() by symbol_request()
to force loading loop module if BLK_DEV_LOOP=m.
Also correct AUFS_BDEV_LOOP attribute in Kconfig
---
 fs/aufs/Kconfig | 3 +--
 fs/aufs/loop.c  | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/aufs/Kconfig b/fs/aufs/Kconfig
index 6228e27..910f35a 100644
--- a/fs/aufs/Kconfig
+++ b/fs/aufs/Kconfig
@@ -180,8 +180,7 @@ config AUFS_BR_HFSPLUS
 
 config AUFS_BDEV_LOOP
 	bool
-	depends on BLK_DEV_LOOP
-	default y
+	default y if ((BLK_DEV_LOOP=m  AUFS_FS=m) || (BLK_DEV_LOOP=y  AUFS_FS))
 	help
 	Automatic configuration for internal use.
 	Convert =[ym] into =y.
diff --git a/fs/aufs/loop.c b/fs/aufs/loop.c
index a5c4e7a..852f67d 100644
--- a/fs/aufs/loop.c
+++ b/fs/aufs/loop.c
@@ -129,7 +129,7 @@ int au_loopback_init(void)
 		goto out;
 
 	err = 0;
-	backing_file_func = symbol_get(loop_backing_file);
+   backing_file_func = symbol_request(loop_backing_file);
 	if (backing_file_func)
 		goto out; /* success */
 
-- 
1.8.4

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-09-30 Thread sfjro
sf...@users.sourceforge.net:

 Florian Klink:
  The error message also appears when both aufs and loop are compiled
  as a module.

 Hmm...
 I am afraid we should consider all combinations of these.
 - aufs (is/is not) a module
 - the source files are from (aufs3-linux/aufs3-standalone).git
   + the system when you build aufs3-standalone.git is running the
 (host/target) kernel
 - loop (is/is not) a module

Hopefull this patch supports all cases.

J. R. Okajima



a.patch.bz2
Description: BZip2 compressed data
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-09-28 Thread sfjro

Florian Klink:
 The error message also appears when both aufs and loop are compiled
 as a module.

Hmm...
I am afraid we should consider all combinations of these.
- aufs (is/is not) a module
- the source files are from (aufs3-linux/aufs3-standalone).git
  + the system when you build aufs3-standalone.git is running the
(host/target) kernel
- loop (is/is not) a module

The current implementation (indirect loop_backing_file call via
symbol_get()) is a solutin for the case,
- aufs is a module
- the source files are from aufs3-standalone.git
  + the system when you build aufs3-standalone.git is running the
host kernel
- loop is a module
In this case, the direct loop_backing_file call caused an error, and I
switched to the indirect call. And, yes you are right, loop module has
to be loaded.

I thought symbol_get() would load the necessary module on demand, but I
may be wrong. I will check the module dependency as soon as possible.


Thanks for reporting
J. R. Okajima

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk


Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-09-26 Thread Florian Klink

   The error message also appears when both aufs and loop are compiled as a
   module.
   The problem is that depmod doesn't detect loop as a dependency module of
   aufs.  So  you need to manually load loop, then aufs (happens in
   Archlinux linux-zen kernel, for example).
   I got the following answer about it:

   Depmod only figures out dependencies via undefined symbols. AUFS doesn't
   call loop_backing_file directly, it just redirects it. Seems that this
   doesn't create a detectable dependency.
   Is there anything you can do about this?
   Florian
   Am 02.09.2013 00:00, schrieb [1]sf...@users.sourceforge.net:

Hillo Philip,

Philip Muller:

/Aufs au_loopback_init:136:modprobe[122]: loop_backing_file() is not=20
defined/

Ouch.
The function was added into aufs3-loopback.patch. Later it was moved
aufs3-base.patch. But it was removed... I've found it now.
I think it is a problem of my release script and I am going to fix it.
Until then, please apply this patch.


J. R. Okajima

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
[2]http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk

References

   1. mailto:sf...@users.sourceforge.net
   2. 
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk

Re: Linux 3.11-rc7: loop_backing_file() is not defined

2013-09-01 Thread sfjro
Hillo Philip,

Philip Muller:
 /Aufs au_loopback_init:136:modprobe[122]: loop_backing_file() is not=20
 defined/

Ouch.
The function was added into aufs3-loopback.patch. Later it was moved
aufs3-base.patch. But it was removed... I've found it now.
I think it is a problem of my release script and I am going to fix it.
Until then, please apply this patch.


J. R. Okajima



a.patch.bz2
Description: BZip2 compressed data
--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk