Nitin Bhardwaj:
> First of all after I modprobe aufs and create aufs mounts, I'm seeing
> four processes in ps output as 'aufsd' !!
> 
> ps -ef | grep aufs
> 481 root        [aufsd]
> 482 root        [aufsd]
> 483 root        [aufsd]
> 484 root        [aufsd]
> 
> Does aufs start/use any daemons ?

I hope this description will help you.

(from the aufs manual of aufs1)
----------------------------------------------------------------------
Module Parameters

            nwkq=N                The number of kernel thread named aufsd.      
                   
                                                                                
                   
           Those threads stay in the system while the aufs module is loaded, 
and handle the special
           I/O requests from aufs. The default value is 4.                      
                   
                                                                                
                   
           The special I/O requests from aufs include a part of copy-up, 
lookup, directory         
           handling, pseudo-link, xino file operations and the delegated access 
to branches. For   
           example, Unix filesystems allow you to rmdir(2) which has no write 
permission bit, if   
           its parent directory has write permission bit. In aufs, the removing 
directory may or   
           may not have whiteout or 'dir opaque' mark as its child. And aufs 
needs to unlink(2)    
           them before rmdir(2). Therefore aufs delegates the actual unlink(2) 
and rmdir(2) to     
           another kernel thread which has been created already and has a 
superuser privilege.     
                                                                                
                   
           If you enable CONFIG_SYSFS, you can check this value through 
<sysfs>/module/aufs/       
           parameters/nwkq.                                                     
                   
                                                                                
                   
           So how many threads is enough? You can check it by 
<sysfs>/fs/aufs/stat, if you enable  
           CONFIG_AUFS_SYSAUFS (for linux-2.6.24 and earlier) or 
CONFIG_AUFS_STAT (for linux-2.6.25
           and later) too. It shows the maximum number of the enqueued work at 
a time per a thread.
           Usually they are all small numbers or 0. If your workload is heavy 
and you feel the     
           response is low, then check these values. If there are no zero and 
any of them is larger
           than 2 or 3, you should set 'nwkq' module parameter greater then the 
default value. But 
           the reason of the bad response is in your branch filesystem, to 
increase the number of  
           aufs thread will not help you.                                       
                   
                                                                                
                   
           The last number in <sysfs>/fs/aufs/stat after comma is the maximum 
number of the        
           'no-wait' enqueued work at a time. Aufs enqueues such work to the 
system global         
           workqueue called 'events', but does not wait for its completion. 
Usually they does no   
           harm the time-performance of aufs.                                   
                   


> What happens due to which is, when the shutdown script ( rc.shutdown )
> tried to remount root filesystem read-only ( mount -o remount,ro / ) ,
> the kernel says: umount: / : device busy !
> 
> So, the ext3 root filesystem is not getting shutdown cleanly !
> Kindly provide some pointers here....

Do you mean that your / is aufs containing ext3, and that ext3 cannot be
unmounted cleanly?


J. R. Okajima

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com

Reply via email to