Re: mount -t aufs is slow with current aufs-utils

2015-03-10 Thread sfjro

Hello Erik,

Erik Braun:
 when using the newest Debian (testing) kernel 3.16.7 and its aufs.ko 
 3.16-20140908 and the current aufs-utils origin/aufs3.14, the mounting 
 takes about 15 seconds for each AUFS-mount:

I am afraid such slowness is caused by a mismatching of configuration.
If CONFIG_AUFS_FHSM is disabled when building the kernel module but
BuildFHSM=yes is set when compiling aufs-util, then such slowness will
happen.
Read README file in aufs-util.git and try building aufs-util with
BuildFHSM=no.


J. R. Okajima

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/


mount -t aufs is slow with current aufs-utils

2015-03-10 Thread Erik Braun
Hi,

when using the newest Debian (testing) kernel 3.16.7 and its aufs.ko 
3.16-20140908 and the current aufs-utils origin/aufs3.14, the mounting 
takes about 15 seconds for each AUFS-mount:

# mkdir -p /tmp/aufstest/ro /tmp/aufstest/rw /tmp/aufstest/dest
# time mount -t aufs -o br=/tmp/aufstest/rw=rw:/tmp/aufstest/ro=ro aufs 
/tmp/aufstest/dest
real0m14.929s
user0m0.160s
sys 0m1.916s

strace shows, that this happens because many repeating (more than 45000) 
sleeps:

...
ioctl(4, AGPIOC_ALLOCATE, 0)  = -1 EOPNOTSUPP (Operation not supported)
nanosleep({0, 10}, NULL)  = 0
ioctl(4, AGPIOC_ALLOCATE, 0)  = -1 EOPNOTSUPP (Operation not supported)
2174  nanosleep({0, 10}, NULL)  = 0
...

I have no idea, what this means.
This does not happen, when using Debian's aufs-tools which a version 
number that seems outdated to me: 1:3.2+20130722-1.1

Should I remove the self-compiled aufs-utils and use Debians aufs-tools?

Best regards, Erik

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/


Re: mount -t aufs is slow with current aufs-utils

2015-03-10 Thread Erik Braun
On Tue, 10 Mar 2015, sf...@users.sourceforge.net wrote:

 3.16-20140908 and the current aufs-utils origin/aufs3.14, the mounting
 takes about 15 seconds for each AUFS-mount:

 I am afraid such slowness is caused by a mismatching of configuration.
 If CONFIG_AUFS_FHSM is disabled when building the kernel module but
 BuildFHSM=yes is set when compiling aufs-util, then such slowness will
 happen.
 Read README file in aufs-util.git and try building aufs-util with
 BuildFHSM=no.

You are right, with BuildFHSM=no the mount process is as fast as it used 
to be.

Thank you!
Erik

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/


Cannot install aufs-utils due to wrong strip program being used

2014-07-18 Thread Steve Ziuchkovski

   In a previous message (sent about 5 minutes ago), I described a problem not
   being able to run “make install” for aufs-utils.


   Right after I sent the message I figured out the problem. My host machine’s
   strip was being run to strip the aufs library, but it was built with a
   cross-compiler. I ended up having to replace /usr/bin/strip on my host with
   a symlink to my toolchain’s strip temporarily, install aufs-utils, then put
   the original back.


   Is this a bug in the build system for aufs-utils?
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

make install for aufs-utils fails stripping shared lib due to unrecognized format

2014-07-18 Thread Steve Ziuchkovski

   Greetings.


   “sudo make install” for aufs-utils is failing with the message “strip:
   Unabletorecognisetheformatofthe   input   file
   `/s/src/aufs/stage/usr/lib/libau.so.2.7'”.


   The output of “file /s/src/aufs/stage/usr/lib/libau.so.2.7” is “regular
   file”, not “shared object” like I would expect.


   I am cross-compiling.



   Here is the whole story:


   I’m trying to build aufs for my embedded ARM system. I’m using a kernel 
from
   TI which is linux-3.12.10-ti2013.12.01. I retrieved the standalone git repo
   and checked out origin/aufs3.12.x, patched my kernel, built it (not as a
   module), and booted it up without issue.


   Now I’m trying to build the utils, which I was able to build without error.
   I used branch origin/aufs3.9. Here is the top portion of the Makefile I
   used:


   HOSTCC ?= cc

   CC =
   /home/steve/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/i686-arago-l
   inux/usr/bin/arm-linux-gnueabihf-gcc

   CFLAGS += -I./libau

   CFLAGS += -O -Wall

   CPPFLAGS  +=  -I /s/src/aufs/linux-3.12.10-ti2013.12.01/usr/include -I
   /s/src/aufs/aufs3-standalone.git/usr/include

   CFLAGS  +=  -I  /s/src/aufs/linux-3.12.10-ti2013.12.01/usr/include  -I
   /s/src/aufs/aufs3-standalone.git/usr/include

   DESTDIR = /s/src/aufs/stage


   I noticed the documentation at [1]http://aufs.sourceforge.net/ talked about
   adding those include directories to CPPFLAGS, but it looks like the source
   is C so I added them to CFLAGS as well (shouldn’t hurt).


   I ran “sudo make install” and got the error above. Help?


   Thanks,

   Steve

References

   1. http://aufs.sourceforge.net/
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

Re: Cannot install aufs-utils due to wrong strip program being used

2014-07-18 Thread sfjro

Hello Steve,

Steve Ziuchkovski:
 Right after I sent the message I figured out the problem. My host machine's
 strip was being run to strip the aufs library, but it was built with a
 cross-compiler. I ended up having to replace /usr/bin/strip on my host with
 a symlink to my toolchain's strip temporarily, install aufs-utils, then put
 the original back.

 Is this a bug in the build system for aufs-utils?

How about setting make LD=/usr/toolchain/ld?


J. R. Okajima

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds


Re: aufs-utils

2013-10-03 Thread Tomas M
Thank you.
Maybe I am doing something wrong, but 'make headers_install' only installs
/usr/include/linux/aufs_type.h
which doesn't contain any text like EAU*

I'm compiling for kernel 3.10.14

Tomas M

On Thu, Oct 3, 2013 at 2:36 AM,  sf...@users.sourceforge.net wrote:

 Hi Tomas,

 Tomas M:
 I have some strange errors while compiling aufs utils.
 perror.c complains that EAU_Last is undeclared, as well as the other
 constants starting with EAU

 I've git-checked aufs utils as origin/aufs3.9


 Where are those supposed to be defined?

 They are defined in linux/include/uapi/linux/aufs_type.h.
 Please specify the include path by CPPFLAGS after
 make install_headers.


 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: aufs-utils

2013-10-03 Thread sfjro

Tomas M:
 Thank you.
 Maybe I am doing something wrong, but 'make headers_install' only installs
 /usr/include/linux/aufs_type.h
 which doesn't contain any text like EAU*

Would you post the output of these commands?
$ fgrep EAU_ ./include/uapi/linux/aufs_type.h \
./usr/include/linux/aufs_type.h /usr/include/linux/aufs_type.h
$ diff -u ./include/uapi/linux/aufs_type.h ./usr/include/linux
$ diff -u ./usr/include/linux/aufs_type.h /usr

Note that there are THREE aufs_type.h files after 'make
headers_install'.
- ./include/uapi/linux/aufs_type.h  (the source)
- ./usr/include/linux/aufs_type.h   (modified for installing)
- /usr/include/linux/aufs_type.h(installed)


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


aufs-utils

2013-10-02 Thread Tomas M
I have some strange errors while compiling aufs utils.
perror.c complains that EAU_Last is undeclared, as well as the other
constants starting with EAU

I've git-checked aufs utils as origin/aufs3.9


Where are those supposed to be defined?

Thank you

Tomas M

--
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: aufs-utils

2013-10-02 Thread sfjro

Hi Tomas,

Tomas M:
 I have some strange errors while compiling aufs utils.
 perror.c complains that EAU_Last is undeclared, as well as the other
 constants starting with EAU

 I've git-checked aufs utils as origin/aufs3.9


 Where are those supposed to be defined?

They are defined in linux/include/uapi/linux/aufs_type.h.
Please specify the include path by CPPFLAGS after
make install_headers.


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: aufs utils ver test

2013-08-23 Thread Tomas M
Ah, actually I tried
git checkout origin/aufs3.10
which returned just error
error: pathspec 'origin/aufs3.10' did not match any files

So I thought I have to checkout 3.0.

If you modify the error messages as you suggested, it won't help me.
For example if I get error message that aufs util is for aufs 3.0 but
my aufs is 3.10, I still do not know what to checkout, which version
of aufs utils is available for me.

I would suggest to modify the error message in ver.c to show the user
a command which he can use to list all available checkpoints. I do not
use git much so I do not know what is that command. Something like:
git show me all checkpoints which I can checkout to

- that will make it easy for the user to see which nearest version of
aufs tools is available for his aufs version.


Thank you for consideration

Tomas M




On Thu, Aug 22, 2013 at 9:35 PM,  sf...@users.sourceforge.net wrote:

 Hi,

 Tomas M:
 while compiling aufs utils for Linux 3.10.9, I get error that aufs is
 for 3.0 and later, but aufs is 3.10-...

 For aufs3.10 module, aufs-util.git#aufs3.9 branch is recommended.
 If your aufs3.10 module is not so new, please try aufs-util.git#aufs3.2
 branch since latest aufs-util.git#aufs3.9 branch refers to some newest
 symbols in aufs3.{9,10,x-rcN} module.

 aufs-util.git#aufs3.0 branch is for aufs3.[01] module only which are not
 maintained now.

 It seems that the message
 Wrong version!
 aufs3.x, but aufs is aufs3.y.
 makes people confused.
 I will modify as
 - for aufs-util.git#aufs3.0
 Wrong version!
 aufs3.0 is for aufs3.[01], but aufs is aufs3.y.

 - for aufs-util.git#aufs3.2
 Wrong version!
 aufs3.2 is for aufs3.[2-8], but aufs is aufs3.y.

 - for aufs-util.git#aufs3.9
 Wrong version!
 aufs3.9 is for aufs3.9 and later, but aufs is aufs3.y.

 - for aufs-util.git#aufs3.x-rcN
 Wrong version!
 aufs3.x-rcN is for aufs3.x-rcN, but aufs is aufs3.y.

 Do they look good?


 J. R. Okajima

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk


Re: aufs utils ver test

2013-08-23 Thread sfjro

Tomas M:
 Ah, actually I tried
 git checkout origin/aufs3.10
 which returned just error
 error: pathspec 'origin/aufs3.10' did not match any files

 So I thought I have to checkout 3.0.

I see.
The detail is described in README file actually.

(from aufs-util.git:README)
--
You will find GIT branches whose name is in form of aufs3.x where x
represents the linux kernel version, linux-3.x. For instance,
aufs3.0 is for linux-3.0.

You may not be able to find the GIT branch in aufs-util for your
version. In this case, you should git-checkout the branch for the
nearest lower number.
If you are using linux-3.10 and aufs3.10 (which are not released yet),
but the aufs3.10 branch doesn't exit in this repository, then
aufs3.9, aufs3.8, ... or something is the branch for you.
Also you can view all branches by
$ git branch -a
--

How about this message?
Wrong version!
aufs3.x, but aufs is aufs3.y.
See README in detail and try git branch -a.


J. R. Okajima

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk


Re: aufs utils ver test

2013-08-23 Thread Tomas M
 How about this message?
 Wrong version!
 aufs3.x, but aufs is aufs3.y.
 See README in detail and try git branch -a.

That would be excellent :)

Thank you

Tomas M

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk


aufs utils ver test

2013-08-22 Thread Tomas M
Hello,

while compiling aufs utils for Linux 3.10.9, I get error that aufs is
for 3.0 and later, but aufs is 3.10-...

Attached patch fixes that.

Thanks for consideration

Tomas M


a.diff
Description: Binary data
--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk

Re: aufs utils ver test

2013-08-22 Thread sfjro

Hi,

Tomas M:
 while compiling aufs utils for Linux 3.10.9, I get error that aufs is
 for 3.0 and later, but aufs is 3.10-...

For aufs3.10 module, aufs-util.git#aufs3.9 branch is recommended.
If your aufs3.10 module is not so new, please try aufs-util.git#aufs3.2
branch since latest aufs-util.git#aufs3.9 branch refers to some newest
symbols in aufs3.{9,10,x-rcN} module.

aufs-util.git#aufs3.0 branch is for aufs3.[01] module only which are not
maintained now.

It seems that the message
Wrong version!
aufs3.x, but aufs is aufs3.y.
makes people confused.
I will modify as
- for aufs-util.git#aufs3.0
Wrong version!
aufs3.0 is for aufs3.[01], but aufs is aufs3.y.

- for aufs-util.git#aufs3.2
Wrong version!
aufs3.2 is for aufs3.[2-8], but aufs is aufs3.y.

- for aufs-util.git#aufs3.9
Wrong version!
aufs3.9 is for aufs3.9 and later, but aufs is aufs3.y.

- for aufs-util.git#aufs3.x-rcN
Wrong version!
aufs3.x-rcN is for aufs3.x-rcN, but aufs is aufs3.y.

Do they look good?


J. R. Okajima

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk


Re: Error while compiling aufs utils

2013-03-10 Thread Tomas M
Thank you for confirming the issue.
I fixed it locally.
I just wanted to assure that what I did is the correct way.


Tomas M



On Sun, Mar 10, 2013 at 4:46 AM,  sf...@users.sourceforge.net wrote:

 Tomas M:
 The problem is that 'make headers_install' does not install aufs_type.h
 anywhere, as far as I know.

 Probably the aufs3-kbuild.patch should add one line to
 $LinuxSrc/include/uapi/linux/Kbuild as follows?
 header-y += aufs_type.h

 May be you are right.
 I think there is a bug in my release script which generates
 aufs3-kbuild.patch automatically by git-diff using my local branches.
 I am sorry. It will be fixed in next release. Until then will you fix it
 locally?


 J. R. Okajima

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev


Re: Error while compiling aufs utils

2013-03-09 Thread sfjro

Tomas M:
 I've compiled aufs (standalone) for Linux 3.8.2, and I've copied file
 aufs_type.h from Linux tree to /usr/include/linux/aufs_type.h
 When that was done, I wanted to compile aufs utils, but 'make' returned an
 error:

 cc -I./libau -O -Wall -DMOUNT_CMD_PATH=\\   ver.c   -o ver
 In file included from ver.c:19:0:
 /usr/include/linux/aufs_type.h:180:27: error: expected :, ,, ;, } or
 __attribute__ before * token
 make: *** [ver] Error 1

The released aufs_type.h file is for kernel-space only and you cannot
use it for user-space.
To use it in user-space (eg. aufs-util),
- run make headers_install in your kernel source tree
  or
  run make install_header in your aufs3-standalone source tree,
  then new $PWD/usr/include/linux/aufs_type.h file will be generated.
- when compiling aufs-util, you need to specify the path to aufs_type.h,
  for example,
CPPFLAGS=-I $LinuxSrc/usr/include -I $AufsStdalone/usr/include


J. R. Okajima

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev


Re: Error while compiling aufs utils

2013-03-09 Thread sfjro

kirk w:
 Recently I've had to do a make headers_install in the kernel source. Then c=
 d into aufs3-standalone.git and do make install_headers, then copy those he=
 aders which include aufs_type.h into the kernel headers.=0A=0A=0A=0A___=

Yes, I guess the bug in my release script affects only make
headers_install in the patched kernel source, instead of make
install_header in the aufs3-standalone source tree.


J. R. Okajima

--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev


Error while compiling aufs utils

2013-03-08 Thread Tomas M

   Thank you for AUFS for 3.8 kernel.

   I've  compiled aufs (standalone) for Linux 3.8.2, and I've copied file
   aufs_type.h from Linux tree to /usr/include/linux/aufs_type.h

   When that was done, I wanted to compile aufs utils, but 'make' returned an
   error:

   cc -I./libau -O -Wall -DMOUNT_CMD_PATH=\\   ver.c   -o ver
   In file included from ver.c:19:0:
   /usr/include/linux/aufs_type.h:180:27:  error:  expected :, ,, ;, } or
   __attribute__ before * token
   make: *** [ver] Error 1
   After some trial and error, I found out that if I use the attached patch for
   aufs_type.h, then aufs utils compile properly (but I am not sure if that
   means it is correct).
   --- aufs_type.h 2013-03-08 11:56:34.0 -0600
   +++ aufs_type.h 2013-03-08 13:58:12.949177844 -0600
   @@ -177,7 +177,7 @@
}

union au_rdu_ent_ul {
   - struct au_rdu_ent __user *e;
   + struct au_rdu_ent *e;
 uint64_t ul;
};
   I really do not know what I am doing, I just tried to remove the __user part
   and it fixed the compilation error, but that doesn't mean it is the right
   thing to do. I have no idea. Does aufs utils compile for you? Am I doing
   anything wrong?
   Thank you very much
   Tomas M
--
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and remains a good choice in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev

Re: Aufs utils

2010-07-08 Thread sdrb
 aufs2-util is essentially necessary, especially these files.
 
 (from the aufs2-util README)
  (...)
 They are always invoked at mount/remount/unmount time.
 The main purpose of /sbin/mount.aufs is,
 - maintain /etc/mtab
 - maintain the aufs pseudo-link (by calling /sbin/auplink)
 
 If you don't install /sbin/mount.aufs, then the aufs line in your
 /etc/mtab will be incorrect, and you may loose the aufs pseudo-link.
 /sbin/auplink is called by /sbin/umount.aufs too.
 
 If you don't know what the aufs pseudo-link is, then refer to the aufs
 manual in detail.
 Additional information,
 
 (from linux/Documentation/filesystems/aufs/design/02struct.txt)
 Pseudo-link
 --
 Assume fileA exists on the lower readonly branch only and it is
 hardlinked to fileB on the branch. When you write something to fileA,
 aufs copies-up it to the upper writable branch. Additionally aufs
 creates a hardlink under the Pseudo-link Directory of the writable
 branch. The inode of a pseudo-link is kept in aufs super_block as a
 simple list. If fileB is read after unlinking fileA, aufs returns
 filedata from the pseudo-link instead of the lower readonly
 branch. Because the pseudo-link is based upon the inode, to keep the
 inode number by xino (see above) is important.
 
 All the hardlinks under the Pseudo-link Directory of the writable branch
 should be restored in a proper location later. Aufs provides a utility
 to do this. The userspace helpers executed at remounting and unmounting
 aufs by default.
 --
 And
 http://www.mail-archive.com/aufs-users@lists.sourceforge.net/msg02639.html
 
 If you don't care about /etc/mtab and the pseudo-link, you can uninstall
 aufs2-util. Otherwise, just install it.
 
 
 Generally readdir(3) in libau.so runs faster than readdir in aufs
 kernel-space, particulary for the huge dir.


Thank you very much for the explanation. Now it is much more clear :)



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first


Re: Aufs utils

2010-07-07 Thread Holger Schurig
 I've read documentation for aufs and there is some note that aufs2
 utilities are always necessary.

That's not true. I use a basic aufs2 system on my device and
don't use or even have installed aufs utilities. It can all be
done with mount -o 

I guess you'll need the utilities only for advanced stuff :-)

-- 
Homepage: http://www.holgerschurig.de

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first


Re: Aufs utils

2010-07-07 Thread sfjro

Holger Schurig:
  I've read documentation for aufs and there is some note that aufs2
  utilities are always necessary.

 That's not true. I use a basic aufs2 system on my device and
 don't use or even have installed aufs utilities. It can all be
 done with mount -o 

 I guess you'll need the utilities only for advanced stuff :-)

aufs2-util is essentially necessary, especially these files.

(from the aufs2-util README)
--
o /sbin/mount.aufs, /sbin/umount.aufs
  Helpers for util-linux-ng package. You should NOT invoke them
  manually. Just install them by make install.

o /sbin/auplink
  Handles aufs pseudo-link at remount/unmount time. You can invoke it
  manually at anytime.
--

They are always invoked at mount/remount/unmount time.
The main purpose of /sbin/mount.aufs is,
- maintain /etc/mtab
- maintain the aufs pseudo-link (by calling /sbin/auplink)

If you don't install /sbin/mount.aufs, then the aufs line in your
/etc/mtab will be incorrect, and you may loose the aufs pseudo-link.
/sbin/auplink is called by /sbin/umount.aufs too.

If you don't know what the aufs pseudo-link is, then refer to the aufs
manual in detail.
Additional information,

(from linux/Documentation/filesystems/aufs/design/02struct.txt)
Pseudo-link
--
Assume fileA exists on the lower readonly branch only and it is
hardlinked to fileB on the branch. When you write something to fileA,
aufs copies-up it to the upper writable branch. Additionally aufs
creates a hardlink under the Pseudo-link Directory of the writable
branch. The inode of a pseudo-link is kept in aufs super_block as a
simple list. If fileB is read after unlinking fileA, aufs returns
filedata from the pseudo-link instead of the lower readonly
branch. Because the pseudo-link is based upon the inode, to keep the
inode number by xino (see above) is important.

All the hardlinks under the Pseudo-link Directory of the writable branch
should be restored in a proper location later. Aufs provides a utility
to do this. The userspace helpers executed at remounting and unmounting
aufs by default.
--
And
http://www.mail-archive.com/aufs-users@lists.sourceforge.net/msg02639.html

If you don't care about /etc/mtab and the pseudo-link, you can uninstall
aufs2-util. Otherwise, just install it.

aufs2-util contains other useful things.
o /usr/bin/auchk
  Similar to generic fsck. Checks whether a branch is healthy or not
  from aufs's point of view.

o /usr/bin/aubrsync
  Move files from the upper writable branch to the lower branch.
  If you use this script with aufs1, then you need to install aufs.shlib
  to /usr/lib/aufs.shlib. Currently only the 20080211 version is tested
  for aufs1.
  The development of this script is sponcered by ASUSTek Computer Inc.
  (http://www.asus.com/).
  Kindly they agreed that I keep my aufs work as free software as it has
  been.

o /usr/lib/libau.so
  A dynamic link library for readdir(3) in user-space.
  If you need this , then run make libau.so install_ulib. And refer to
  the aufs manual in detail.

Generally readdir(3) in libau.so runs faster than readdir in aufs
kernel-space, particulary for the huge dir.


J. R. Okajima

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first


Re: Are aufs 'utils' mandatory ?

2009-02-10 Thread Nitin Bhardwaj
On Wed, Feb 11, 2009 at 11:13 AM,  sf...@users.sourceforge.net wrote:

[...]

 Or try aufs2 which include aufs utilities written in C language so that
 /usr is unnecessary.

Junjiro,

The aufs2 codebase contains kernel patches for only 2.6.27 kernel
version, however the RHEL 5.2 kernel version is 2.6.18-xyz; These
patches dont work on RHEL kernel .

Do we have patches for earlier kernel versions ( something like the
unionfs releases) for aufs2 ?


Thanks,
Nitin.

--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com


Re: Are aufs 'utils' mandatory ?

2009-02-10 Thread sfjro

Nitin Bhardwaj:
 Do we have patches for earlier kernel versions ( something like the
 unionfs releases) for aufs2 ?

For older kernels, I'd suggest you aufs1.
(or change your mount/unmount order, or change the shutdown script as I
suggested in the aufs manual).


J. R. Okajima

--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com