Re: [linux41]
On 29.05.2017 16:01, sf...@users.sourceforge.net wrote: > Hi, > > Philip Muller: >> ERROR: "ilog2_NaN" [fs/aufs/aufs.ko] undefined! >> make[1]: *** [scripts/Makefile.modpost:90: __modpost] Error 1 >> make: *** [Makefile:1106: modules] Error 2 >> >> Any clue what might create this issue? > > It might be related to your compiler. > See this commit in mainline. > Before you add/apply this commit into your kernel source, I'd suggest > you to confirm that aufs doesn't call ilog2() by itself. > > > J. R. Okajima > > commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c > Author: Linus Torvalds> Date: Thu Mar 2 12:17:22 2017 -0800 Hi J. R., You're absolutely right. I tried gcc7. Thx for pointing me to that patch. I was able to compile with gcc6 however just fine. greez, Phil -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
[linux41]
Hi all, somehow I get with v4.1.40 [1] following error with Aufs v20161219 and v20170220. Setup is 17596 bytes (padded to 17920 bytes). System is 4185 kB CRC 7593dae8 Kernel: arch/x86/boot/bzImage is ready (#1) ERROR: "ilog2_NaN" [fs/aufs/aufs.ko] undefined! make[1]: *** [scripts/Makefile.modpost:90: __modpost] Error 1 make: *** [Makefile:1106: modules] Error 2 Any clue what might create this issue? Greez, Phil [1] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.40 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Re: aufs3 with 3.12.52 kernel
Hi all, it is much simplier than you think. As on Manjaro we still support linux 3.12 series. I already released patches to make it work. Simply adopt them. You can find it here [1]. Please get all patches and the aufs tarfile you find in my github project: aufs3.12.31+-20141215.patch.bz2 Pre-Patch: aufs312-3.12.45.patch Patches applied after: aufs312-3.12.37.patch aufs312-3.12.45-2.patch I recommend to apply them like this [2]: # fix aufs patches rm ${srcdir}/aufs3-base.patch rm ${srcdir}/aufs3-standalone.patch cp -f ${startdir}/aufs3-base.patch ${srcdir}/aufs3-base.patch cp -f ${startdir}/aufs3-standalone.patch ${srcdir}/aufs3-standalone.patch cd "${srcdir}" patch -Np0 -i "${srcdir}/aufs312-3.12.45.patch" # add aufs3 support patch -Np1 -i "${srcdir}/aufs3.12.31+-${_aufs}.patch" patch -Np1 -i "${srcdir}/aufs3-base.patch" patch -Np1 -i "${srcdir}/aufs3-kbuild.patch" patch -Np1 -i "${srcdir}/aufs3-loopback.patch" patch -Np1 -i "${srcdir}/aufs3-mmap.patch" patch -Np1 -i "${srcdir}/aufs3-standalone.patch" patch -Np1 -i "${srcdir}/tmpfs-idr.patch" patch -Np1 -i "${srcdir}/vfs-ino.patch" patch -Np2 -i "${srcdir}/aufs312-3.12.37.patch" patch -Np1 -i "${srcdir}/aufs312-3.12.45-2.patch" Good luck, Philip [1] https://github.com/manjaro/packages-core/tree/master/linux312 [2] https://github.com/manjaro/packages-core/blob/master/linux312/PKGBUILD -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Re: aufs3 and aufs4 GIT release
Hi, forget about it. It was my bad. I've something in my create-aufs.sh patch. Have to remember why I added it ... grep -qse 'EXPORT_SYMBOL(' aufs3-standalone.patch && \ sed -i-old -e 's|EXPORT_SYMBOL(|EXPORT_SYMBOL_GPL(|' aufs3-standalone.patch -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Re: aufs3 and aufs4 GIT release
J.R. please check for EXPORT_SYMBOL_GPL(fput). Seems you have added this by mistake. It is actually still EXPORT_SYMBOL(fput)! greez Phil -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
Re: aufs4 and 4.3-rc1
On 13.09.2015 09:20, Philip Müller wrote: > > fs/aufs/super.c: In function 'au_show_brs': > fs/aufs/super.c:109:8: error: void value not ignored as it ought to be > err = seq_printf(seq, "=%s", perm.a); > ^ > fs/aufs/super.c:114:8: error: void value not ignored as it ought to be > err = seq_putc(seq, ':'); > ^ > scripts/Makefile.build:258: recipe for target 'fs/aufs/super.o' failed > make[2]: *** [fs/aufs/super.o] Error 1 > scripts/Makefile.build:403: recipe for target 'fs/aufs' failed > make[1]: *** [fs/aufs] Error 2 > Makefile:941: recipe for target 'fs' failed > make: *** [fs] Error 2 > make: *** Waiting for unfinished jobs > Seems this is due this change: fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6798a8caaf64fa68b9ab2044e070fe4545034e03 --
aufs4 and 4.3-rc1
Hi all, seems more is "broken" with aufs4 and the latest kernel 4.3 series. After editing some caveats I saw right away seems I got stuck in the middle. So this is just a headsup I found so far: # fix aufs4 sed -i -e 's|inode_sb_list_lock|blockdev_superblock->s_inode_list_lock|g' "${srcdir}/aufs4.x-rcN-${_aufs}.patch" sed -i -e 's|+extern spinlock_t blockdev_superblock->s_inode_list_lock;|+|g' "${srcdir}/aufs4.x-rcN-${_aufs}.patch" https://github.com/torvalds/linux/commit/74278da9f70d84d715601fe794567a6d2bfdf078 However I ran into following error after all: fs/aufs/super.c: In function 'au_show_brs': fs/aufs/super.c:109:8: error: void value not ignored as it ought to be err = seq_printf(seq, "=%s", perm.a); ^ fs/aufs/super.c:114:8: error: void value not ignored as it ought to be err = seq_putc(seq, ':'); ^ scripts/Makefile.build:258: recipe for target 'fs/aufs/super.o' failed make[2]: *** [fs/aufs/super.o] Error 1 scripts/Makefile.build:403: recipe for target 'fs/aufs' failed make[1]: *** [fs/aufs] Error 2 Makefile:941: recipe for target 'fs' failed make: *** [fs] Error 2 make: *** Waiting for unfinished jobs For now I'll disable aufs on my end until I find more time to dig in. greez Phil --
Re: [aufs3] linux 3.10.83 - get rid of s_files and files_lock
Hi J. R. Okajima, I think I found now something: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/#diff-5 I assume I've to apply the complete patch ... Am 04.07.2015 um 09:53 schrieb Philip Müller: First of all. I know that this kernel series isn't supported anymore. The last given version of aufs3 is 20141215. With release of 3.10.76 I had to patch the first time that release: https://raw.githubusercontent.com/manjaro/packages-core/master/linux310/aufs310-3.10.76.patch With 3.10.83 now it was decided to get rid of s_files and files_lock: http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/releases/3.10.83/get-rid-of-s_files-and-files_lock.patch So followed snipped is not applicable anymore: aufs3.10.x standalone patch diff --git a/fs/file_table.c b/fs/file_table.c index 8db8096..e271e28 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -37,6 +37,7 @@ struct files_stat_struct files_stat = { }; DEFINE_LGLOCK(files_lglock); +EXPORT_SYMBOL_GPL(files_lglock); /* SLAB cache for file structures */ static struct kmem_cache *filp_cachep __read_mostly; @@ -405,6 +406,8 @@ void file_sb_list_del(struct file *file) } } +EXPORT_SYMBOL_GPL(file_sb_list_del); + #ifdef CONFIG_SMP /* So before I dig into aufs3.10 code and other branches of aufs, I wanted to ask if there is a simple way to solve this. As I already plan to stop supporting linux310 from my end, it might be also a good wink to do so already. That series gets EOL this September anyway ... kind regards Philip Müller -- Manjaro Project-Lead -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/
[aufs3] linux 3.10.83 - get rid of s_files and files_lock
First of all. I know that this kernel series isn't supported anymore. The last given version of aufs3 is 20141215. With release of 3.10.76 I had to patch the first time that release: https://raw.githubusercontent.com/manjaro/packages-core/master/linux310/aufs310-3.10.76.patch With 3.10.83 now it was decided to get rid of s_files and files_lock: http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/releases/3.10.83/get-rid-of-s_files-and-files_lock.patch So followed snipped is not applicable anymore: aufs3.10.x standalone patch diff --git a/fs/file_table.c b/fs/file_table.c index 8db8096..e271e28 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -37,6 +37,7 @@ struct files_stat_struct files_stat = { }; DEFINE_LGLOCK(files_lglock); +EXPORT_SYMBOL_GPL(files_lglock); /* SLAB cache for file structures */ static struct kmem_cache *filp_cachep __read_mostly; @@ -405,6 +406,8 @@ void file_sb_list_del(struct file *file) } } +EXPORT_SYMBOL_GPL(file_sb_list_del); + #ifdef CONFIG_SMP /* So before I dig into aufs3.10 code and other branches of aufs, I wanted to ask if there is a simple way to solve this. As I already plan to stop supporting linux310 from my end, it might be also a good wink to do so already. That series gets EOL this September anyway ... kind regards Philip Müller -- Manjaro Project-Lead -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/
Re: [aufs3] linux 3.10.83 - get rid of s_files and files_lock
I assume followed patch should fix my issue then: https://raw.githubusercontent.com/manjaro/packages-core/master/linux310/aufs310-3.10.83.patch Will report if otherwise ... Am 04.07.2015 um 10:15 schrieb Philip Müller: Hi J. R. Okajima, I think I found now something: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/#diff-5 I assume I've to apply the complete patch ... Am 04.07.2015 um 09:53 schrieb Philip Müller: First of all. I know that this kernel series isn't supported anymore. The last given version of aufs3 is 20141215. With release of 3.10.76 I had to patch the first time that release: https://raw.githubusercontent.com/manjaro/packages-core/master/linux310/aufs310-3.10.76.patch With 3.10.83 now it was decided to get rid of s_files and files_lock: http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/releases/3.10.83/get-rid-of-s_files-and-files_lock.patch So followed snipped is not applicable anymore: aufs3.10.x standalone patch diff --git a/fs/file_table.c b/fs/file_table.c index 8db8096..e271e28 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -37,6 +37,7 @@ struct files_stat_struct files_stat = { }; DEFINE_LGLOCK(files_lglock); +EXPORT_SYMBOL_GPL(files_lglock); /* SLAB cache for file structures */ static struct kmem_cache *filp_cachep __read_mostly; @@ -405,6 +406,8 @@ void file_sb_list_del(struct file *file) } } +EXPORT_SYMBOL_GPL(file_sb_list_del); + #ifdef CONFIG_SMP /* So before I dig into aufs3.10 code and other branches of aufs, I wanted to ask if there is a simple way to solve this. As I already plan to stop supporting linux310 from my end, it might be also a good wink to do so already. That series gets EOL this September anyway ... kind regards Philip Müller -- Manjaro Project-Lead -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/
Re: [aufs3] linux 3.10.83 - get rid of s_files and files_lock
Hi J.R. thx for the hint I give it another shot. Linux 3.10 seems to be a little different. Lets see if my additional patch does its magic: https://raw.githubusercontent.com/manjaro/packages-core/master/linux310/aufs310-3.10.83-2.patch On 04.07.2015 11:13, sf...@users.sourceforge.net wrote: Hi Philip, Philip M ller: With 3.10.83 now it was decided to get rid of s_files and files_lock: http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/re= leases/3.10.83/get-rid-of-s_files-and-files_lock.patch ::: So before I dig into aufs3.10 code and other branches of aufs, I wanted to ask if there is a simple way to solve this. As I already plan to stop supporting linux310 from my end, it might be also a good wink to do so already. That series gets EOL this September anyway ... I hope this commit from aufs3-linux.git will help you. commit c4f445827ded3d71590e411f7e80b4af73b3483b Author: J. R. Okajima hooano...@yahoo.co.jp Date: Fri Dec 13 15:51:49 2013 +0900 aufs: for linux-3.13, s_files is gone and si_files has come By the commit, eee5cc2 2013-11-09 get rid of s_files and files_lock the file list in superblock, s_files is totally removed. But aufs still needs the file list, particularly for re-setting the branch attribute from RW to RO. After resetting to RO, aufs should return EROFS for write. In order to support such case, aufs keeps the late s_files and mark_files_ro() approach. Signed-off-by: J. R. Okajima hooano...@yahoo.co.jp diff --git a/fs/aufs/branch.c b/fs/aufs/branch.c index e0f8013..196ae1a 100644 --- a/fs/aufs/branch.c +++ b/fs/aufs/branch.c @@ -1004,22 +1004,25 @@ static unsigned long long au_farray_cb(void *a, { unsigned long long n; struct file **p, *f; + struct au_sphlhead *files; + struct au_finfo *finfo; struct super_block *sb = arg; n = 0; p = a; - lg_global_lock(files_lglock); - do_file_list_for_each_entry(sb, f) { - if (au_fi(f) - file_count(f) + files = au_sbi(sb)-si_files; + spin_lock(files-spin); + hlist_for_each_entry(finfo, files-head, fi_hlist) { + f = finfo-fi_file; + if (file_count(f) !special_file(file_inode(f)-i_mode)) { get_file(f); *p++ = f; n++; AuDebugOn(n max); } - } while_file_list_for_each_entry; - lg_global_unlock(files_lglock); + } + spin_unlock(files-spin); return n; } @@ -1105,7 +1108,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) continue; /* todo: already flushed? */ - /* cf. fs/super.c:mark_files_ro() */ + /* + * fs/super.c:mark_files_ro() is gone, but aufs keeps its + * approach which resets f_mode and calls mnt_drop_write() and + * file_release_write() for each file, because the branch + * attribute in aufs world is totally different from the native + * fs rw/ro mode. + */ /* fi_read_lock(file); */ hfile = au_fi(file)-fi_htop; hf = hfile-hf_file; diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c index 58944dc..70aec1d 100644 --- a/fs/aufs/f_op.c +++ b/fs/aufs/f_op.c @@ -52,11 +52,8 @@ int au_do_open_nondir(struct file *file, int flags) au_set_fbstart(file, bindex); au_set_h_fptr(file, bindex, h_file); au_update_figen(file); - if (!(file-f_mode FMODE_WRITE)) { - lg_local_lock(files_lglock); - __file_sb_list_add(file, dentry-d_sb); - lg_local_unlock(files_lglock); - } + finfo-fi_file = file; + au_sphl_add(finfo-fi_hlist, au_sbi(dentry-d_sb)-si_files); /* todo: necessary? */ /* file-f_ra = h_file-f_ra; */ } @@ -88,6 +85,7 @@ int aufs_release_nondir(struct inode *inode __maybe_unused, struct file *file) aufs_bindex_t bindex; finfo = au_fi(file); + au_sphl_del(finfo-fi_hlist, au_sbi(file-f_dentry-d_sb)-si_files); bindex = finfo-fi_btop; if (bindex = 0) au_set_h_fptr(file, bindex, NULL); diff --git a/fs/aufs/file.h b/fs/aufs/file.h index f5d63ad..2c28527 100644 --- a/fs/aufs/file.h +++ b/fs/aufs/file.h @@ -62,6 +62,9 @@ struct au_finfo { atomic_tfi_mmapped; }; struct au_fidir *fi_hdir; /* for dir only */ + + struct hlist_node fi_hlist; + struct file *fi_file; /* very ugly */ } cacheline_aligned_in_smp; /*
Re: [PATCH] aufs3.12.x: dcsub: fix for changed struct dentry
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Hi J.R., do you consider to drop aufs3.15? Nobody is really using it anymore. Even not Ubuntu: https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable kind regards Philip Am 03.03.2015 um 17:06 schrieb sf...@users.sourceforge.net: Phil Sutter: Please reconsider this decision, for the following motivation: W WH WHA WHAT!? The pre-announce of this decision was posted over half a year ago. And the final decision was made about three months ago. -- From: sf...@users.sourceforge.net To: aufs-users@lists.sourceforge.net Subject: aufs3.9 ... aufs3.14 will be obsolete Date: Mon, 21 Jul 2014 16:11:30 +0900 Hello all, I am going to stop maintaining aufs3.9 ... aufs3.14 versions, and make aufs3.15 a new base version. It will happen after aufs3.16 or aufs3.17 is released. If you have any objections, please let me know. J. R. Okajima -- From: sf...@users.sourceforge.net Subject: Re: aufs3.9 ... aufs3.14 will be obsolete To: aufs-users@lists.sourceforge.net Date: Mon, 08 Dec 2014 14:09:17 +0900 Hello all, sf...@users.sourceforge.net: Here is my almost final plan. - in a few weeks, aufs3.{9,11,13} will end before linux-3.17 (or 3.18) is released. - in a few months, aufs3.{10,10.x,12,12.x} will end because a few users want a longer life of aufs3.10.x. - in other words, when linux-3.18 (or 3.19) is released, the supported versions will be aufs3.14 - aufs3.1[89]. Also I am afraid some of them will have .x branch. Now linux-3.18 is released (and aufs3.18 too). At the end of this year, all aufs versions before aufs3.14 will become obsolete and go to the unsupport-stage. J. R. Okajima -- From: sf...@users.sourceforge.net Subject: Re: aufs3.9 ... aufs3.14 will be obsolete To: aufs-users@lists.sourceforge.net Date: Mon, 05 Jan 2015 06:15:02 +0900 sf...@users.sourceforge.net: Now linux-3.18 is released (and aufs3.18 too). At the end of this year, all aufs versions before aufs3.14 will become obsolete and go to the unsupport-stage. I've just made git-push and released latest aufs. Since this release, my development base is aufs3.14. Aufs3.9 .. aufs3.13 are not maintained anymore. J. R. Okajima -- You are too late... - My patch is small and simple (and breaks v3.12.37, but that's another topic ;). Probably it should go to aufs3.12.31+ branch. - Only conservative changes are expected in stable branches, maintaining it should not cost too many nerves. OK, the change above without introducing a macro for compatibility is a perfect counterexample. If requested, I would volunteer in maintaining aufs3.12.x compatibility. For your information, past posts from Philip Muller. http://www.mail-archive.com/aufs-users@lists.sourceforge.net/msg05000.html http://www.mail-archive.com/aufs-users@lists.sourceforge.net/msg04959.html 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/ -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQEcBAEBCAAGBQJU9eMVAAoJEMqmpZYRx/B+KwsIAJL9XhRmIsgE2JbXvekG5tfn tQB8lwkVdPxkfm9zAJlQ/03Vjr3V5d42fkf8NHe3rLqs9BwKqnVDHv25Z0vrHK4c 9p2E03RyLYuEz9LG50pEe4SGyMKBzPFl6VzDi8ysqoLZa5EVoljCZWQw4mbY4Lfy CqUFrn8rCi7A4MLO2CFBj4FKrQPfJjyCcCVbMqmjLe6dmxaGsBs9ji2hTvlum2M8 rghwME7GreHHexMBj7Z8Eng4H3R+596p+HEgw6od6sNGFi3gfjI60nBdwBwY7KKk 2gyZeEVU207n15zL7inZ+tsAtWmn0ksbCXL+CX2D0zyXA/zYBN8RaRVhBPVy+C4= =+75L -END PGP SIGNATURE- -- 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: [aufs3.2] 20131104 - patched for 3.2.66
Hi J.R., as of now I've no plan to do so either. When there are issues and I can help with some patches I'll do so. As a kernel maintainer I can provide those fast. So (@Rene) if something is needed, feel free to ping me on issues. kind regards Phil Am 31.01.2015 um 13:32 schrieb sf...@users.sourceforge.net: Philip Muller: since this series was depreciated by upstream and still some users need=20 this aufs3.2 series I might be able to help you out guys. Here is a patch to compile the last released aufs3.2 release with linux=20 3.2.66. Great. Although I have not read deeply the patch and I don't have a plan to use it, I'd like to say thank you. If you have a public release repository or something, please let me know. I will add it in http://aufs.sf.net. 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/
Re: aufs3 GIT release
Hi J.R., as I'm almost build all kernels for Manjaro Linux, I found another issue with your aufs316-20150105 release. Starting with 3.16.7-ckt4 followed new stuff got backported from linux319 series: - move d_rcu from overlapping d_child to overlapping d_alias [1] You find the needed changes as patch with this mail. kind regards Philip Mueller -- Manjaro Project-Lead [1] https://github.com/torvalds/linux/commit/946e51f2bf37f1656916eb75bd0742ba33983c28 Am 04.01.2015 um 22:06 schrieb sf...@users.sourceforge.net: o bugfix - possible bugfix, signedness of d_count o news - aufs3.18.1+ branch is created. - now aufs3.9 .. aufs3.13 becomes obsolete. my development base is aufs3.14. - and aufs3.14 branch is created in aufs-util.git. Many of the commits to follow the change made in linux-3.19 and linux-3.18.1 are made by Philip Muller. Thanx. The codebase of this aufs3.x-rcN is linux-3.19-rc1 (instead of rc2). J. R. Okajima - aufs3-linux.git#aufs3.14 .. aufs3.18 branch aufs: optimize ac_dcsub_pages() by dcache:d_walk() aufs: tiny, remove unused variables aufs: tiny, fix forgotten replacing file_inode() for aufs: make d_walk() public aufs: possible bugfix, signedness of d_count - aufs3-linux.git#aufs3.18.1+ branch addition to above, aufs: for linux-3.19, d_alias and d_child - aufs3-linux.git#aufs3.x-rcN branch addition to above, aufs: for linux-3.19, remove au_diractor() aufs: for linux-3.19, vfs_fallocate() aufs: for linux-3.19, get_unused_fd_flags() aufs: for linux-3.19, f_dentry aufs: for linux-3.19, d_materialise_unique() - aufs3-standalone.git ditto - aufs-util.git none diff -Npur a/linux-3.16/fs/aufs/debug.c b/linux-3.16/fs/aufs/debug.c --- a/linux-3.16/fs/aufs/debug.c 2015-01-16 18:41:15.986192886 +0100 +++ b/linux-3.16/fs/aufs/debug.c 2015-01-16 19:08:24.402790066 +0100 @@ -169,7 +169,7 @@ void au_dpri_dalias(struct inode *inode) struct dentry *d; spin_lock(inode-i_lock); - hlist_for_each_entry(d, inode-i_dentry, d_alias) + hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) au_dpri_dentry(d); spin_unlock(inode-i_lock); } diff -Npur a/linux-3.16/fs/aufs/export.c b/linux-3.16/fs/aufs/export.c --- a/linux-3.16/fs/aufs/export.c 2015-01-16 18:41:15.989527885 +0100 +++ b/linux-3.16/fs/aufs/export.c 2015-01-16 19:08:24.416130064 +0100 @@ -243,7 +243,7 @@ static struct dentry *decode_by_ino(stru dentry = d_find_alias(inode); else { spin_lock(inode-i_lock); - hlist_for_each_entry(d, inode-i_dentry, d_alias) { + hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) { spin_lock(d-d_lock); if (!au_test_anon(d) d-d_parent-d_inode-i_ino == dir_ino) { diff -Npur a/linux-3.16/fs/aufs/hnotify.c b/linux-3.16/fs/aufs/hnotify.c --- a/linux-3.16/fs/aufs/hnotify.c 2015-01-16 18:41:15.992862885 +0100 +++ b/linux-3.16/fs/aufs/hnotify.c 2015-01-16 19:08:24.429470064 +0100 @@ -211,7 +211,7 @@ static int hn_gen_by_inode(char *name, u AuDebugOn(!name); au_iigen_dec(inode); spin_lock(inode-i_lock); - hlist_for_each_entry(d, inode-i_dentry, d_alias) { + hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) { spin_lock(d-d_lock); dname = d-d_name; if (dname-len != nlen @@ -378,7 +378,7 @@ static struct dentry *lookup_wlock_by_na dentry = NULL; spin_lock(parent-d_lock); - list_for_each_entry(d, parent-d_subdirs, d_u.d_child) { + list_for_each_entry(d, parent-d_subdirs, d_child) { /* AuDbg(%pd\n, d); */ spin_lock_nested(d-d_lock, DENTRY_D_LOCK_NESTED); dname = d-d_name; -- New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet
Re: aufs3 GIT release
Hi J.R., seems you missed f_dentry in your loopback patch. See attached file. kind regards Phil Am 04.01.2015 um 22:06 schrieb sf...@users.sourceforge.net: o bugfix - possible bugfix, signedness of d_count o news - aufs3.18.1+ branch is created. - now aufs3.9 .. aufs3.13 becomes obsolete. my development base is aufs3.14. - and aufs3.14 branch is created in aufs-util.git. Many of the commits to follow the change made in linux-3.19 and linux-3.18.1 are made by Philip Muller. Thanx. The codebase of this aufs3.x-rcN is linux-3.19-rc1 (instead of rc2). J. R. Okajima - aufs3-linux.git#aufs3.14 .. aufs3.18 branch aufs: optimize ac_dcsub_pages() by dcache:d_walk() aufs: tiny, remove unused variables aufs: tiny, fix forgotten replacing file_inode() for aufs: make d_walk() public aufs: possible bugfix, signedness of d_count - aufs3-linux.git#aufs3.18.1+ branch addition to above, aufs: for linux-3.19, d_alias and d_child - aufs3-linux.git#aufs3.x-rcN branch addition to above, aufs: for linux-3.19, remove au_diractor() aufs: for linux-3.19, vfs_fallocate() aufs: for linux-3.19, get_unused_fd_flags() aufs: for linux-3.19, f_dentry aufs: for linux-3.19, d_materialise_unique() - aufs3-standalone.git ditto - aufs-util.git none --- aufs3-loopback.patch.orig 2015-01-06 09:40:51.567664733 +0100 +++ aufs3-loopback.patch 2015-01-06 09:49:22.305035741 +0100 @@ -55,8 +55,8 @@ index 30efd68..77b31b4 100644 +static struct file *loop_real_file(struct file *file) +{ + struct file *f = NULL; -+ if (file-f_dentry-d_sb-s_op-real_loop) -+ f = file-f_dentry-d_sb-s_op-real_loop(file); ++ if (file-f_path.dentry-d_sb-s_op-real_loop) ++ f = file-f_path.dentry-d_sb-s_op-real_loop(file); + return f; +} @@ -225,7 +225,7 @@ index 54cb651..78416ea 100644 +{ + struct file *f; + -+ BUG_ON(!au_test_aufs(file-f_dentry-d_sb)); ++ BUG_ON(!au_test_aufs(file-f_path.dentry-d_sb)); + fi_read_lock(file); + f = au_hf_top(file); + fi_read_unlock(file); -- 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: aufs3 GIT release
J.R. don't worry so much. These things may happen. As long as we find them, all is fine. On 06.01.2015 12:30, sf...@users.sourceforge.net wrote: Philip M ller: seems you missed f_dentry in your loopback patch. See attached file. Thanks again. It is my another mistake. Fixed and pushed aufs3-standalone.git#aufs3.x-rcN now. 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
Re: aufs3 GIT release
Hi J.R. followed lines should not be present in tmpfs-idr.patch within aufs3.18.1+ branch: diff --git a/Makefile b/Makefile index 3f84029..fd80c6e 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 3 PATCHLEVEL = 18 -SUBLEVEL = 1 +SUBLEVEL = 0 EXTRAVERSION = NAME = Diseased Newt They make no sense. Kind regards Phil Am 04.01.2015 um 22:06 schrieb [1]sf...@users.sourceforge.net: o bugfix - possible bugfix, signedness of d_count o news - aufs3.18.1+ branch is created. - now aufs3.9 .. aufs3.13 becomes obsolete. my development base is aufs3.14. - and aufs3.14 branch is created in aufs-util.git. Many of the commits to follow the change made in linux-3.19 and linux-3.18.1 are made by Philip Muller. Thanx. The codebase of this aufs3.x-rcN is linux-3.19-rc1 (instead of rc2). J. R. Okajima - aufs3-linux.git#aufs3.14 .. aufs3.18 branch aufs: optimize ac_dcsub_pages() by dcache:d_walk() aufs: tiny, remove unused variables aufs: tiny, fix forgotten replacing file_inode() for aufs: make d_walk() public aufs: possible bugfix, signedness of d_count - aufs3-linux.git#aufs3.18.1+ branch addition to above, aufs: for linux-3.19, d_alias and d_child - aufs3-linux.git#aufs3.x-rcN branch addition to above, aufs: for linux-3.19, remove au_diractor() aufs: for linux-3.19, vfs_fallocate() aufs: for linux-3.19, get_unused_fd_flags() aufs: for linux-3.19, f_dentry aufs: for linux-3.19, d_materialise_unique() - aufs3-standalone.git ditto - aufs-util.git none References 1. mailto:sf...@users.sourceforge.net -- 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: aufs3-standalong.git aufs3.18.1+ fixed (Re: aufs3 GIT release)
Hi Stephen, you can use my script to create sane aufs patches. kind regards Phil Am 05.01.2015 um 18:01 schrieb sf...@users.sourceforge.net: Hello Stephen, sd...@uw.edu: I'm trying to get acclimated to the required patching that is somewhat date= d and out of sync with the current linux release 3.12.35+. I'm using the = latest on the REPO of AUFS 3.9, but was wondering if you can comment on pat= ::: I don't know why you chose aufs3.9. If you are using linux-3.12.35, why don't you try aufs3.12.31+ branch? Also I am unsure whether you will meet a problem or not since your kernel source doesn't seem to be vanilla mainline. Here is another patching method. Some people prefers git-pull instead of patch(1). For instance, $ cd raspberrypi/linux.git $ git checkout raspberrypi-3.12.35 $ git remote add aufs3-linux git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-linux.git $ git pull aufs3-linux aufs3.12.31+ SO, we=92ll just assume those other headers were removed for a reason. But= it is feeling like perhaps this version of the kernel already had incorpor= ated some level of aufs. If your base source really has an old version of aufs and you want to try latest version of aufs, then merging by git-pull (above) will be better. Otherwise, if you do it by patch(1), you will need some manual work I am afraid. J. R. Okajima create-aufs.sh Description: application/shellscript -- 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: aufs3 GIT release
Hi J.R., it is cos of this change: --- a/include/linux/dcache.h +++ b/include/linux/dcache.h @@ -124,15 +124,15 @@ struct dentry { void *d_fsdata;/* fs-specific data */ struct list_head d_lru;/* LRU list */ +struct list_head d_child;/* child of parent list */ +struct list_head d_subdirs;/* our children */ /* - * d_child and d_rcu can share memory + * d_alias and d_rcu can share memory */ union { -struct list_head d_child;/* child of parent list */ +struct hlist_node d_alias;/* inode alias list */ struct rcu_head d_rcu; } d_u; -struct list_head d_subdirs;/* our children */ -struct hlist_node d_alias;/* inode alias list */ }; /* Am 17.12.2014 um 15:18 schrieb sf...@users.sourceforge.net: Justin (jlec): aufs3 version 20141215 has problem compiling with 3.18.1 Waoh! I didn't know 3.18.1 is already released. It is before 3.19-rc1. How early! Anyway thanks for reporting. I will get 3.18.1, fix and release as soon as possible. J. R. Okajima -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Re: aufs3 GIT release
Hi J.R., this might fix it ... kind regards Phil Am 17.12.2014 um 15:18 schrieb sf...@users.sourceforge.net: Justin (jlec): aufs3 version 20141215 has problem compiling with 3.18.1 Waoh! I didn't know 3.18.1 is already released. It is before 3.19-rc1. How early! Anyway thanks for reporting. I will get 3.18.1, fix and release as soon as possible. J. R. Okajima -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk --- aufs3.18-20141215.patch.orig 2014-12-17 20:12:24.718401365 +0100 +++ aufs3.18-20141215.patch 2014-12-17 20:12:49.243989851 +0100 @@ -5472,7 +5472,7 @@ + while (next != this_parent-d_subdirs) { + struct list_head *tmp = next; + struct dentry *dentry = list_entry(tmp, struct dentry, -+ d_u.d_child); ++ d_child); + + next = tmp-next; + spin_lock_nested(dentry-d_lock, DENTRY_D_LOCK_NESTED); @@ -5508,7 +5508,7 @@ + this_parent = tmp; + spin_lock(this_parent-d_lock); + rcu_read_unlock(); -+ next = child-d_u.d_child.next; ++ next = child-d_child.next; + goto resume; + } + @@ -14179,7 +14179,7 @@ + + dentry = NULL; + spin_lock(parent-d_lock); -+ list_for_each_entry(d, parent-d_subdirs, d_u.d_child) { ++ list_for_each_entry(d, parent-d_subdirs, d_child) { + /* AuDbg(%pd\n, d); */ + spin_lock_nested(d-d_lock, DENTRY_D_LOCK_NESTED); + dname = d-d_name; -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Re: aufs3 GIT release
Seems I was wrong. Second try. I missed d_alias change ... Am 17.12.2014 um 20:14 schrieb Philip Müller: Hi J.R., this might fix it ... kind regards Phil Am 17.12.2014 um 15:18 schrieb [1]sf...@users.sourceforge.net: Justin (jlec): aufs3 version 20141215 has problem compiling with 3.18.1 Waoh! I didn't know 3.18.1 is already released. It is before 3.19-rc1. How early! Anyway thanks for reporting. I will get 3.18.1, fix and release as soon as possible. J. R. Okajima -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE [2]http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.c lktrk -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE [3]http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk References 1. mailto:sf...@users.sourceforge.net 2. http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk 3. http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk --- aufs3.18-20141215.patch.orig 2014-12-17 20:12:24.718401365 +0100 +++ aufs3.18-20141215.patch 2014-12-17 22:32:47.403221803 +0100 @@ -5472,7 +5472,7 @@ + while (next != this_parent-d_subdirs) { + struct list_head *tmp = next; + struct dentry *dentry = list_entry(tmp, struct dentry, -+ d_u.d_child); ++ d_child); + + next = tmp-next; + spin_lock_nested(dentry-d_lock, DENTRY_D_LOCK_NESTED); @@ -5508,7 +5508,7 @@ + this_parent = tmp; + spin_lock(this_parent-d_lock); + rcu_read_unlock(); -+ next = child-d_u.d_child.next; ++ next = child-d_child.next; + goto resume; + } + @@ -5876,7 +5876,7 @@ + struct dentry *d; + + spin_lock(inode-i_lock); -+ hlist_for_each_entry(d, inode-i_dentry, d_alias) ++ hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) + au_dpri_dentry(d); + spin_unlock(inode-i_lock); +} @@ -9861,7 +9861,7 @@ + dentry = d_find_alias(inode); + else { + spin_lock(inode-i_lock); -+ hlist_for_each_entry(d, inode-i_dentry, d_alias) { ++ hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) { + spin_lock(d-d_lock); + if (!au_test_anon(d) + d-d_parent-d_inode-i_ino == dir_ino) { @@ -14012,7 +14012,7 @@ + AuDebugOn(!name); + au_iigen_dec(inode); + spin_lock(inode-i_lock); -+ hlist_for_each_entry(d, inode-i_dentry, d_alias) { ++ hlist_for_each_entry(d, inode-i_dentry, d_u.d_alias) { + spin_lock(d-d_lock); + dname = d-d_name; + if (dname-len != nlen @@ -14179,7 +14179,7 @@ + + dentry = NULL; + spin_lock(parent-d_lock); -+ list_for_each_entry(d, parent-d_subdirs, d_u.d_child) { ++ list_for_each_entry(d, parent-d_subdirs, d_child) { + /* AuDbg(%pd\n, d); */ + spin_lock_nested(d-d_lock, DENTRY_D_LOCK_NESTED); + dname = d-d_name; -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
Re: Minor bug with 3.12.31
Hi J.R. I missed it. Yes that works. No problem here. Am 31.10.2014 um 16:45 schrieb sf...@users.sourceforge.net: Philip M ller: This is no bug. This is also needed for 3.14 series now. Isn't aufs3.14.21+ enough for you? J. R. Okajima --
Re: Minor bug with 3.12.31
This is no bug. This is also needed for 3.14 series now. Am 28.10.2014 um 12:27 schrieb Michael Amadio: Ah.. I see the same bug (and fix) is reported for 3.14.21, likely exactly the same fix. On Tue, Oct 28, 2014 at 8:55 PM, Michael Amadio [1][1]01mi...@gmail.com wrote: Hello Junjiro, I just built 3.12.31 and there is a bug introduced with differences in the mm/Makefile. It is very trivial. --- linux-3.12.31/mm/Makefile.orig 2014-10-28 08:09:10.781714774 +1000 +++ linux-3.12.31/mm/Makefile 2014-10-28 08:17:17.688376084 +1000 @@ -17,7 +17,7 @@   util.o mmzone.o vmstat.o backing-dev.o \   mm_init.o mmu_context.o percpu.o slab_common.o \   compaction.o balloon_compaction.o vmacache.o \ -  interval_tree.o list_lru.o $(mmu-y) +  interval_tree.o list_lru.o prfile.o $(mmu-y)   obj-y += init-mm.o  Regards, Michael Amadio Puppy Slacko developer. References 1. [2]mailto:01mi...@gmail.com -- References 1. mailto:[1]01mi...@gmail.com 2. mailto:01mi...@gmail.com --
[linux314] aufs 20140127 broken on 3.14-rc3
Hi there, time to time I'm trying to build release candidates with the latest rc code of aufs. Here my findings for linux 3.14-rc3: CC block/scsi_ioctl.o In file included from include/linux/fs.h:8:0, from include/linux/fsnotify_backend.h:13, from include/linux/fsnotify.h:14, from fs/aufs/inode.h:27, from fs/aufs/dynop.h:27, from fs/aufs/branch.h:28, from fs/aufs/aufs.h:37, from fs/aufs/hfsnotify.c:22: fs/aufs/hfsnotify.c: In function 'au_hfsn_handle_event': CC security/lsm_audit.o fs/aufs/hfsnotify.c:168:62: error: 'struct fsnotify_event' has no member named 'name_len' struct qstr h_child_qstr = QSTR_INIT(event-file_name, event-name_len); ^ include/linux/dcache.h:55:37: note: in definition of macro 'QSTR_INIT' #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } ^ fs/aufs/hfsnotify.c:168:44: error: 'struct fsnotify_event' has no member named 'file_name' struct qstr h_child_qstr = QSTR_INIT(event-file_name, event-name_len); ^ include/linux/dcache.h:55:52: note: in definition of macro 'QSTR_INIT' #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } ^ fs/aufs/hfsnotify.c:179:15: error: 'struct fsnotify_event' has no member named 'to_tell' h_dir = event-to_tell; ^ fs/aufs/hfsnotify.c: At top level: fs/aufs/hfsnotify.c:215:2: error: unknown field 'should_send_event' specified in initializer .should_send_event = au_hfsn_should_send_event, ^ fs/aufs/hfsnotify.c:215:2: warning: initialization from incompatible pointer type [enabled by default] fs/aufs/hfsnotify.c:215:2:warning:(near initialization for 'au_hfsn_ops.handle_event') [enabled by default] fs/aufs/hfsnotify.c:216:2: warning: initialization from incompatible pointer type [enabled by default] .handle_event = au_hfsn_handle_event, ^ fs/aufs/hfsnotify.c:216:2:warning:(near initialization for 'au_hfsn_ops.handle_event') [enabled by default] scripts/Makefile.build:308: recipe for target 'fs/aufs/hfsnotify.o' failed make[2]: *** [fs/aufs/hfsnotify.o] Error 1 scripts/Makefile.build:455: recipe for target 'fs/aufs' failed make[1]: *** [fs/aufs] Error 2 Makefile:839: recipe for target 'fs' failed make: *** [fs] Error 2 make: *** Waiting for unfinished jobs Hope this helps. kind regards Philip MÃŒller -- Manjaro Lead-Dev -- Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk
Re: Compile error
Hi Ed, there should be no problem at all. I tested the latest aufs with 3.10.15 and with current 3.10.16. You can find my scripts in my git-repos: http://git.manjaro.org/package-sources/core/tree/master/linux310 Here is my patch snippet: # add aufs3 support patch -Np1 -i ${srcdir}/aufs3.10-${_aufs}.patch patch -Np1 -i ${srcdir}/aufs3-base.patch patch -Np1 -i ${srcdir}/aufs3-kbuild.patch patch -Np1 -i ${srcdir}/aufs3-loopback.patch patch -Np1 -i ${srcdir}/aufs3-proc_map.patch patch -Np1 -i ${srcdir}/aufs3-standalone.patch And config: http://git.manjaro.org/package-sources/core/blob/master/linux310/config.aufs Creating it as module there seems to be some extra steps done. Archlinux uses some patches on their kernel and compile it like this: https://aur.archlinux.org/packages/au/aufs3/PKGBUILD Here is the patch snippet they use on their kernel: msg 'AUFS3 patches' patch -p1 -i ${srcdir}/aufs3-base.patch patch -p1 -i ${srcdir}/aufs3-standalone.patch Hope this helps. Phil Am 23.10.2013 01:00, schrieb Ed W: Hi, it's always something stupid that I did when the compile fails, so apologies in advance, but... Kernel 3.10.15 - NOT compiling aufs as a module. HOSTLD scripts/mod/modpost CHK include/generated/compile.h make[3]: `arch/x86/realmode/rm/realmode.bin' is up to date. CHK kernel/config_data.h CC fs/aufs/module.o /usr/src/linux-tpb/include/linux/kconfig.h:46:1: fatal error: /usr/src/linux-tpb/include/linux/aufs_type.h: No such file or directory compilation terminated. make[2]: *** [fs/aufs/module.o] Error 1 make[1]: *** [fs/aufs] Error 2 make: *** [fs] Error 2 I believe I have done: - apply ./aufs3-kbuild.patch to your kernel source files. - apply ./aufs3-base.patch too. - apply ./aufs3-proc_map.patch too, - copy ./{Documentation,fs,include/uapi/linux/aufs_type.h} files to your kernel source tree. - make So clarifying this, my aufs_type.h file *is* in include/uapi/linux/ and not in include/linux/ - is this correct? (Note that this kernel also has the grsec patches applied.) Any quick hints on what I might have done wrong before I take it all apart and look more closely? I guess it's most likely some other patch breaks this..? Thanks Ed W -- 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=60135991iu=/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=60135991iu=/4140/ostg.clktrk
Re: aufs3 GIT release
Here is the aufs3-loopback.patch for 3.12-rc1. greez Phil On 09/15/2013 09:15 PM, sf...@users.sourceforge.net wrote: o news - a new branch aufs3.11 is created. - now aufs3.x-rcN is for linux-3.12-rcN. J. R. Okajima -- - aufs3-linux.git#aufs3.2.aufs3.11 branch aufs: tiny, reduce the stack consumption - aufs3-linux.git#aufs3.x-rcN branch Addition to above, aufs: for linux-3.12, add non-FMODE_WRITE-opened file to the list 2/2 aufs: for linux-3.12, non-FMODE_WRITE in list 1/2, export __file_sb_list_add() - aufs3-standalone.git ditto - aufs-util.git none -- LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13. http://pubads.g.doubleclick.net/gampad/clk?id=64545871iu=/4140/ostg.clktrk aufs3.x-rcN loopback patch diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 6e43ab0..45ed62e 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -513,7 +513,7 @@ out: } struct switch_request { - struct file *file; + struct file *file, *virt_file; struct completion wait; }; @@ -575,7 +575,8 @@ static int loop_thread(void *data) * First it needs to flush existing IO, it does this by sending a magic * BIO down the pipe. The completion of this BIO does the actual switch. */ -static int loop_switch(struct loop_device *lo, struct file *file) +static int loop_switch(struct loop_device *lo, struct file *file, + struct file *virt_file) { struct switch_request w; struct bio *bio = bio_alloc(GFP_KERNEL, 0); @@ -583,6 +584,7 @@ static int loop_switch(struct loop_device *lo, struct file *file) return -ENOMEM; init_completion(w.wait); w.file = file; + w.virt_file = virt_file; bio-bi_private = w; bio-bi_bdev = NULL; loop_make_request(lo-lo_queue, bio); @@ -599,7 +601,7 @@ static int loop_flush(struct loop_device *lo) if (!lo-lo_thread) return 0; - return loop_switch(lo, NULL); + return loop_switch(lo, NULL, NULL); } /* @@ -618,6 +620,7 @@ static void do_loop_switch(struct loop_device *lo, struct switch_request *p) mapping = file-f_mapping; mapping_set_gfp_mask(old_file-f_mapping, lo-old_gfp_mask); lo-lo_backing_file = file; + lo-lo_backing_virt_file = p-virt_file; lo-lo_blocksize = S_ISBLK(mapping-host-i_mode) ? mapping-host-i_bdev-bd_block_size : PAGE_SIZE; lo-old_gfp_mask = mapping_gfp_mask(mapping); @@ -626,6 +629,13 @@ out: complete(p-wait); } +static struct file *loop_real_file(struct file *file) +{ + struct file *f = NULL; + if (file-f_dentry-d_sb-s_op-real_loop) + f = file-f_dentry-d_sb-s_op-real_loop(file); + return f; +} /* * loop_change_fd switched the backing store of a loopback device to @@ -639,6 +649,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, unsigned int arg) { struct file *file, *old_file; + struct file *f, *virt_file = NULL, *old_virt_file; struct inode *inode; int error; @@ -655,9 +666,16 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, file = fget(arg); if (!file) goto out; + f = loop_real_file(file); + if (f) { + virt_file = file; + file = f; + get_file(file); + } inode = file-f_mapping-host; old_file = lo-lo_backing_file; + old_virt_file = lo-lo_backing_virt_file; error = -EINVAL; @@ -669,17 +687,21 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, goto out_putf; /* and ... switch */ - error = loop_switch(lo, file); + error = loop_switch(lo, file, virt_file); if (error) goto out_putf; fput(old_file); + if (old_virt_file) + fput(old_virt_file); if (lo-lo_flags LO_FLAGS_PARTSCAN) ioctl_by_bdev(bdev, BLKRRPART, 0); return 0; out_putf: fput(file); + if (virt_file) + fput(virt_file); out: return error; } @@ -840,7 +862,7 @@ static void loop_config_discard(struct loop_device *lo) static int loop_set_fd(struct loop_device *lo, fmode_t mode, struct block_device *bdev, unsigned int arg) { - struct file *file, *f; + struct file *file, *f, *virt_file = NULL; struct inode *inode; struct address_space *mapping; unsigned lo_blocksize; @@ -855,6 +877,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, file = fget(arg); if (!file) goto out; + f = loop_real_file(file); + if (f) { + virt_file = file; + file = f; + get_file(file); + } error = -EBUSY; if (lo-lo_state != Lo_unbound) @@ -903,6 +931,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, lo-lo_device = bdev; lo-lo_flags = lo_flags; lo-lo_backing_file = file; + lo-lo_backing_virt_file = virt_file; lo-transfer =
Linux 3.11-rc7: loop_backing_file() is not defined
Hi J. R., I've a problem with the current linux 3.11 series and your latest aufs3. I might miss some here. I get followed error after issueing followed cmd: msg :: Mounting root (aufs) filesystem /bin/mount -t aufs -o dirs=/rw_branch=rw union ${newroot} if [ $? -ne 0 ]; then echo ERROR: while mounting root (aufs) filesystem. launch_interactive_shell fi Returns with: Aufs au_loopback_init:136:modprobe[122]: loop_backing_file() is not defined How to define the loop_backing_file? Config files for the kernel are here: [1]http://git.manjaro.org/package-sources/core/raw/master/linux311/config.au fs [2]http://git.manjaro.org/package-sources/core/raw/master/linux311/config [3]http://git.manjaro.org/package-sources/core/raw/master/linux311/config.x8 6_64 Kind regards Philip Müller --- Manjaro Lead Am 26.08.2013 02:41, schrieb [4]sf...@users.sourceforge.net: o news - aumvdown(8) prints a better message when an error occurs. - new options for aumvdown(8), --overwrite-lower and --keep-upper. o misc - refine a message from the version-test in aufs-util.git. J. R. Okajima -- - aufs3-linux.git#aufs3.2..aufs3.8 branch None - aufs3-linux.git#aufs3.9..aufs3.x-rcN branch aufs: mvdown, aux error code for userspace aufs: mvdown, userspace can be verbose aufs: tiny, mvdown, reduce the stack consumption aufs: tiny, wrap around a long line aufs: for mvdown, a new flag for cpup, OVERWRITE aufs: mvdown, the overwriting lower option aufs: mvdown, the keep upper option - aufs3-standalone.git ditto - aufs-util.git#aufs3.0 branch (not maintained) fix the version test add a note in version test message - aufs-util.git#aufs3.2 branch add a note in version test message - aufs-util.git#aufs3.9..aufs3.x-rcN branch Addition to above, forgot installing aumvdown.8 mvdown, refine the error msg mvdown, overwrite-lower option mvdown, keep-upper option -- 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! [5]http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk References 1. http://git.manjaro.org/package-sources/core/raw/master/linux311/config.aufs 2. http://git.manjaro.org/package-sources/core/raw/master/linux311/config 3. http://git.manjaro.org/package-sources/core/raw/master/linux311/config.x86_64 4. mailto:sf...@users.sourceforge.net 5. http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk -- 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
Re: aufs3.2-20130325 and grsec 2.9.1-201303252031
It's fine. I just wanted to know if it is possible. Thx. Keep on your great work. I hope I see aufs soon in mainline. Phil Am 28.03.2013 08:18, schrieb sf...@users.sourceforge.net: Philip Muller: I tried to combinate aufs3 with grsecurity on kernel 3.2.41. Result is followed error created by aufs3-proc_map.patch: ::: Is there any patch I might have missed to get those two patch-sets together? Currently and as far as I know, there is no such patch. If I remember correctly, some aufs users have applied grsec patch in the past, and I have suggested minor modifications. But the version of grsec patch was diffrent from yours I am afraid. If I have enough time, I would try grsec by myself and develop another patch. But I am busy now to implement another aufs whiteout approach which is Al Viro's idea originally. J. R. Okajima -- Own the Future-Intelreg; Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d