Re: aufs3 GIT release

2015-04-05 Thread Guan Xin
Dear Okajima,

The change causes implicit declaration of vfree and vzalloc in
fs/aufs/super.c.
Could you add back #include linux/vmalloc.h?

Thanks!

Guan


On Sun, Mar 29, 2015 at 5:56 PM,  sf...@users.sourceforge.net wrote:

 All changes are tiny, and the behaviour doesn't change.

 J. R. Okajima

 
 - aufs3-linux.git#aufs3.14..aufs3.18 branch
   aufs: tiny, remove an obsoleted description, loopback-mounted branch
   aufs: tiny, remove the unused functions and macros
   aufs: tiny, remove the unused functions and macros in aufs_rename
   aufs: tiny, remove several reserved for future use names
   aufs: tiny, simply refresh the documents
   aufs: tiny, cosmetic once every a few years

 - aufs3-linux.git#aufs3.19 branch
   Addition to above,
   aufs mmap: for linux-3.19, f_dentry

 - aufs3-linux.git#aufs3.x-rcN branch
   Addition to above,
   aufs: tiny, fold a long line

 - aufs3-standalone.git
   ditto

 - aufs-util.git
   none

 --
 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/

--
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

2015-01-16 Thread Philip Müller

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-standalong.git aufs3.18.1+ fixed (Re: aufs3 GIT release)

2015-01-06 Thread sfjro

sd...@uw.edu:
 However I'd like to test the aufs filesystem for correctness.  Is there a t=
 est suite I can run somewhere?

For generic fs tests, there are some.
- ltp
- xfstests
- glibc

Personally I have tried some of them.
It took long time...


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

2015-01-06 Thread Philip Müller

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

2015-01-06 Thread sfjro

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

2015-01-06 Thread Philip Müller
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

2015-01-05 Thread Philip Müller

   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 GIT release

2015-01-05 Thread sfjro

Philip Muller:
 Hi J.R. followed lines should not be present in tmpfs-idr.patch within 
 aufs3.18.1+ branch:

Ouch!!
tmpfs-idr.patch and vfs-ino.patch in aufs3.18.1+ are totally broken.
I will fix as soon as possible.

Thanks for reporting.


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-standalong.git aufs3.18.1+ fixed (Re: aufs3 GIT release)

2015-01-05 Thread sfjro

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

--
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)

2015-01-05 Thread Philip Müller

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

aufs3-standalong.git aufs3.18.1+ fixed (Re: aufs3 GIT release)

2015-01-05 Thread sfjro

sf...@users.sourceforge.net:

 Philip Muller:
  Hi J.R. followed lines should not be present in tmpfs-idr.patch within 
  aufs3.18.1+ branch:

 Ouch!!
 tmpfs-idr.patch and vfs-ino.patch in aufs3.18.1+ are totally broken.
 I will fix as soon as possible.

Fixed and aufs3-standalone.git#aufs3.18.1+ 20150106 is released.


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

2014-12-17 Thread sfjro

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


Re: aufs3 GIT release

2014-12-17 Thread Philip Müller
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

2014-12-17 Thread Philip Müller

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

2014-12-17 Thread Philip Müller

   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: aufs3 GIT release

2014-12-08 Thread Justin (jlec)
Hi,

I see this with linux-3.17 and standalone patches:


In file included from fs/aufs/module.c:24:0:
fs/aufs/inode.h:307:12: error: function declaration isn’t a prototype
[-Werror=strict-prototypes]
 AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags)
^
fs/aufs/aufs.h:28:21: note: in definition of macro ‘AuStub’
  static inline type name(__VA_ARGS__) { body; }
 ^
fs/aufs/inode.h:307:1: note: in expansion of macro ‘AuStubInt0’
 AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags)
 ^
  CC  kernel/irq/resend.o

Justin



signature.asc
Description: OpenPGP digital signature
--
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

2014-05-25 Thread Guan Xin
Hello Okajima,

Thanks for the tmpfs patch! This is really good.

For the vfs-ino patch, it does not apply to linux-3.12.20.
However, this is not very important and applying this patch
manually is easy.

Guan

On Sun, May 25, 2014 at 6:35 PM,  sf...@users.sourceforge.net wrote:

 o news
 - in aufs3-standalong.git, introduce two new patches, vfs-ino.patch and
   tmpfs-ibitmap.patch.
   aufs3-loopback.patch has existed since many years before, but not
   described. Other two patches are introdued by the neighbourhood of
   this commit.

 There several other patches in aufs3-standalone.git. They are all
 optional. When you meet some problems, they will help you.
 - aufs3-loopback.patch
   Supports a nested loopback mount in a branch-fs. This patch is
   unnecessary until aufs produces a message such like you may want 
 to try
   another patch for loopback file.
 - vfs-ino.patch
   Modifies a system global kernel internal function get_next_ino() in
   order to stop assigning 0 for an inode-number. Not directly related 
 to
   aufs, but recommended generally.
 - tmpfs-ibitmap.patch
   Keeps the tmpfs inode number as the lowest value. Effective to 
 reduce
   the size of aufs XINO files for tmpfs branch. Also it prevents the
   duplication of inode number, which is important for backup
   tools, aubrsync or other utilities. When you find aufs XINO files 
 for
   tmpfs branch growing too much, try this patch.


 J. R. Okajima

 
 - aufs3-linux.git
   aufs: describe several optional patches
   aufs: add a postscript about mainline-ing

 - aufs3-standalone.git
   ditto

 - aufs-util.git
   none

 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs


Re: aufs3 GIT release

2014-01-13 Thread justin
On 13/01/14 08:43, sf...@users.sourceforge.net wrote:
 Until then, try a.patch in the mail archive.

I tried that, but it didn't work for me. The sequence I used was

* linux-.3.1[1,0]
* patches to latest releases
* a.patch
* aufs3 patches

 
 Now I am considering two possible approaches to make aufs3.1[02]
 branches supporting for their stable releases.
 - make a new patch file aufs3-mmap-3.12.x.patch in aufs3.12 branch.
 - make a new branch aufs3.12.x, which will be almost all equivalent to
   aufs3.12 branch except aufs3-mmap.patch.
 
 If you think one of them are preferable to the other, please let me
 know.

I am fine with both ways with a little tendency to the first approach.

Justin



signature.asc
Description: OpenPGP digital signature
--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk

Re: aufs3 GIT release

2014-01-13 Thread sfjro

justin:
 * linux-.3.1[1,0]
 * patches to latest releases
 * a.patch
 * aufs3 patches

??
For plain linux-3.10 or 3.11, the released aufs patched should be
applied cleanly.
Do you mean linux-3.10.26 or somehing? And applying a.patch was failed?

a.patch is to complement aufs3-mmap.patch.
It is expected for all aufs patches to be applied cleanly except
mm/fremap.c by aufs3-mmap.patch.
For this point (only), I posted a.patch.
If you meet other problems, please describe specifially.


J. R. Okajima

--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk


Re: aufs3 GIT release

2014-01-13 Thread justin
On 13/01/14 09:08, sf...@users.sourceforge.net wrote:
 a.patch is to complement aufs3-mmap.patch.

I got this wrong. I applied the patch without looking into it. now it works.

Thanks
Justin



signature.asc
Description: OpenPGP digital signature
--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk

Re: aufs3 GIT release

2014-01-12 Thread justin
Thanks for the new release.

Still the standalone patches do not apply on top of 3.12.7 and 3.10.26.
Could you please create a fix for that?

Thanks,
Justin




signature.asc
Description: OpenPGP digital signature
--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk

Re: aufs3 GIT release

2014-01-12 Thread sfjro

Hello justin,

justin:
 Still the standalone patches do not apply on top of 3.12.7 and 3.10.26.
 Could you please create a fix for that?

Yes, it needs another week.
Until then, try a.patch in the mail archive.

Now I am considering two possible approaches to make aufs3.1[02]
branches supporting for their stable releases.
- make a new patch file aufs3-mmap-3.12.x.patch in aufs3.12 branch.
- make a new branch aufs3.12.x, which will be almost all equivalent to
  aufs3.12 branch except aufs3-mmap.patch.

If you think one of them are preferable to the other, please let me
know.


J. R. Okajima

--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk


Re: aufs3.12 will kill aufs3.{2,2.x,4} (Re: aufs3 GIT release)

2013-11-03 Thread sfjro

sf...@users.sourceforge.net:
 In a few months, linux-3.12 will be released and aufs3.12 too.
 When aufs3.12 is released, I will stop maintaining aufs3.2, aufs3.x.2
 and aufs3.4 branches. Aufs3.[5-7] are already stopped, so the new base
 (the oldest supported version) version will be aufs3.8.
 But I am considering when I stop aufs3.8. Currently I am not sure when
 it will be. It may be same time with aufs3.2, or later much more.
 If I stop aufs3.8 when linux-3.12 is released, then the new base version
 will be aufs3.9.

linux-3.12 has come and aufs3.{2,2.x,4,8} are gone.
In next aufs release, aufs3.12 will appear and the new base version will
be aufs3.9.


J. R. Okajima

--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk


Re: aufs3.12 will kill aufs3.{2,2.x,4} (Re: aufs3 GIT release)

2013-10-06 Thread Ben Hutchings
On Mon, 2013-09-30 at 13:17 +0900, sf...@users.sourceforge.net wrote:
 Ben Hutchings:
  So far as I could tell, the rest were new features - which aren't
  suitable for a Debian stable update - or adding donors to the
  documentation.  Are you concerned that some bug fix might have a
  dependency I didn't notice?
 
 I understand that there are unimportant (for debian) commits in all 85,
 and you exclude them.
 But the commit list I wrote in my previous mail contains important
 ones. So they are recommendation from me. Of course the choice is yours.
 If we think the word bugfix strictly, you should pick
 
 ca0e87b 2013-04-20 aufs: new copyup 6/6, the inode attributes
 724b70b 2013-04-20 aufs: new copyup 5/6, actually unlock the parent and relock
 ead9579 2013-04-20 aufs: new copyup 4/6, aufs_rename() always copies-up the 
 src dentry
 8b550ff 2013-04-20 aufs: new copyup 3/6, aufs_link() copyup dentry using 
 src_dentry's name
 8a4170f 2013-04-20 aufs: new copyup 2/6, au_pin supports temporary 
 unlock/relock
 c90d846 2013-04-20 aufs: new copyup 1/6, copyup as a hidden name
 
 too. They are for the bug Al Viro pointed out.
 As my very personal opinion, the problem will not occur while it is
 surely a bug. Theoritically it should be fixed and these commits did.

These are quite big changes that seem to carry a risk of regression (in
fact you listed several fixes for regressions).  Since you say the bug
being fixed is not that big a risk itself, this does not seem like a
sensible change for a stable update - particularly as you won't provide
any further regression fixes for 3.2.x.

  I can change the version string again if you think it should have
  'debian' in it.
 
 Yes please. It is important.

I will do this but it is now too late to include this change in the
Debian 7.2 point release.

Ben.

-- 
Ben Hutchings
Who are all these weirdos? - David Bowie, reading IRC for the first time


signature.asc
Description: This is a digitally signed message part
--
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: aufs3.12 will kill aufs3.{2,2.x,4} (Re: aufs3 GIT release)

2013-09-29 Thread sfjro

Hello Ben,

Ben Hutchings:
 Thanks for maintaining the 3.2.x branch.  I didn't take all the changes
 from it but I cherry-picked these to include in a stable update for the
 Debian kernel:

The current version of aufs in debian is aufs3.2 20130204, right?

28de369 2013-02-04 aufs3.2 20130204

And if we run git log --no-merges 28de369..aufs3.2.x, we get 85
commits. You chose 12 of them and I guess you want the fixes for
critical problmes only, but I'd suggest you to pick up all 85, including
the updated version string.
If you really really don't want all, I'd suggest you to pick these
commits too and change the version string to something like debianized
20130204.

048c785 2013-08-27 aufs: bugfix, support an error in copy-up
06e68b0 2013-08-07 aufs: remove some obsoleted CONFIGs
3356185 2013-05-18 aufs: copyup supports for a sticky bit of the parent
6cec032 2013-04-27 aufs: bugfix, au_pin verifies the positive dentries
c5cdbbd 2013-04-20 aufs: pin the branch dir 5/5, set DCACHE_MOUNTED
a8d06d5 2013-04-20 aufs: pin the branch dir 4/5, remove some parameters
1c08502 2013-04-20 aufs: pin the branch dir 3/5, replace br_mnt by br_path
fa73e4d 2013-04-20 aufs: pin the branch dir 2/5, tiny, au_br_sb()
5272e64 2013-04-20 aufs: pin the branch dir 1/5, tiny, au_br_mnt()
37fbf7f 2013-04-20 aufs: stop locking for au_h_open_pre()
c6b0de1 2013-03-02 aufs: possible bugfix, limit the access to -comm
066d25c 2013-03-01 aufs: possible bugfix, replace -comm by get_task_comm()


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: aufs3.12 will kill aufs3.{2,2.x,4} (Re: aufs3 GIT release)

2013-09-29 Thread Ben Hutchings
On Mon, 2013-09-30 at 12:33 +0900, sf...@users.sourceforge.net wrote:
 Hello Ben,
 
 Ben Hutchings:
  Thanks for maintaining the 3.2.x branch.  I didn't take all the changes
  from it but I cherry-picked these to include in a stable update for the
  Debian kernel:
 
 The current version of aufs in debian is aufs3.2 20130204, right?

 28de369 2013-02-04 aufs3.2 20130204
 
 And if we run git log --no-merges 28de369..aufs3.2.x, we get 85
 commits. You chose 12 of them and I guess you want the fixes for
 critical problmes only, but I'd suggest you to pick up all 85, including
 the updated version string.

So far as I could tell, the rest were new features - which aren't
suitable for a Debian stable update - or adding donors to the
documentation.  Are you concerned that some bug fix might have a
dependency I didn't notice?

 If you really really don't want all, I'd suggest you to pick these
 commits too and change the version string to something like debianized
 20130204.
[...]

Well I also cherry-picked the change of version string to '3.2.x', which
seemed suitably ambiguous. :-)  The Debian changelog lists the
cherry-picked changes.

I can change the version string again if you think it should have
'debian' in it.

Ben.

-- 
Ben Hutchings
Life is like a sewer:
what you get out of it depends on what you put into it.


signature.asc
Description: This is a digitally signed message part
--
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: aufs3.12 will kill aufs3.{2,2.x,4} (Re: aufs3 GIT release)

2013-09-29 Thread sfjro

Ben Hutchings:
 So far as I could tell, the rest were new features - which aren't
 suitable for a Debian stable update - or adding donors to the
 documentation.  Are you concerned that some bug fix might have a
 dependency I didn't notice?

I understand that there are unimportant (for debian) commits in all 85,
and you exclude them.
But the commit list I wrote in my previous mail contains important
ones. So they are recommendation from me. Of course the choice is yours.
If we think the word bugfix strictly, you should pick

ca0e87b 2013-04-20 aufs: new copyup 6/6, the inode attributes
724b70b 2013-04-20 aufs: new copyup 5/6, actually unlock the parent and relock
ead9579 2013-04-20 aufs: new copyup 4/6, aufs_rename() always copies-up the src 
dentry
8b550ff 2013-04-20 aufs: new copyup 3/6, aufs_link() copyup dentry using 
src_dentry's name
8a4170f 2013-04-20 aufs: new copyup 2/6, au_pin supports temporary unlock/relock
c90d846 2013-04-20 aufs: new copyup 1/6, copyup as a hidden name

too. They are for the bug Al Viro pointed out.
As my very personal opinion, the problem will not occur while it is
surely a bug. Theoritically it should be fixed and these commits did.


 I can change the version string again if you think it should have
 'debian' in it.

Yes please. It is important.


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: aufs3 GIT release

2013-09-17 Thread Philip Müller

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 = 

Re: aufs3 GIT release

2013-09-17 Thread sfjro

Philip Muller:
 Here is the aufs3-loopback.patch for 3.12-rc1.

Thank you.
All aufs3-brabra.patch are generated automatically by my local script,
and I don't maintain them by GIT.
And this change is made in mainline instead of aufs work.

Anyway thanks for posting.

J. R. Okajima

PS.
I will be offline next week.

--
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/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151iu=/4140/ostg.clktrk


Re: aufs3 GIT release

2013-08-08 Thread Ben Hutchings
On Mon, 2013-08-05 at 09:40 +0900, sf...@users.sourceforge.net wrote:
 o news
 - For aufs3.x-rcN, I made a change about CONFIG_AUFS_BDEV_LOOP again,
   and I have a plan to do it once more.
[...]

Surely this needs to depend on BLK_BDEV_LOOP=y  AUFS=y?  Or else you
could add an EXPORT_SYMBOL for loop_backing_file().

Ben.

-- 
Ben Hutchings
The two most common things in the universe are hydrogen and stupidity.


signature.asc
Description: This is a digitally signed message part
--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk

Re: aufs3 GIT release

2013-08-08 Thread sfjro

Ben Hutchings:
  - For aufs3.x-rcN, I made a change about CONFIG_AUFS_BDEV_LOOP again,
and I have a plan to do it once more.
 [...]

 Surely this needs to depend on BLK_BDEV_LOOP=3Dy  AUFS=3Dy?  Or else you
 could add an EXPORT_SYMBOL for loop_backing_file().

My plan is to allow BLK_BDEV_LOOP=m again while AUFS is on.
Look forward to next Monday release.


J. R. Okajima

--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk


Re: aufs3 GIT release

2013-05-06 Thread Klaus Knopper
Hello,

It seems that the 3.9 branch of aufs3-standalone.git (not
aufs3-linux.git) is not available yet on sourceforge or github, or did I
miss something?

Regards
-Klaus

On Mon, May 06, 2013 at 10:36:02AM +0900, sf...@users.sourceforge.net wrote:
 o news
 - a new branch aufs3.9 is created, and aufs3.x-rcN is for linux-3.10.
 - aufs3-linux.git on SourceForge is unstable and unreliable. Until it
   calm down, try git://github.com/sfjro/aufs3-linux.git instead.
 
 o enhancement
 - the simple linked list for the aufs pseudo-link is restructured, and
   it becomes a very simple hashed list.
 
 J. R. Okajima
 
 --
 - aufs3-linux.git#aufs3.2..aufs3.8 branch
   aufs: plink hlist 1/5, tiny, split au_plink_half_refresh()
   aufs: plink hlist 2/5, tiny, implement au_sphl for hlist
   aufs: plink hlist 3/5, convert the plink list into hlist
   aufs: plink hlist 4/5, make it a hashed array
   aufs: plink hlist 5/5, implement /debug/aufs/si_id/plink
   aufs: update the donator list
 
 - aufs3-linux.git#aufs3.9 branch
   Addtion to above,
   aufs: for 3.9, remove the pos param from hlist func
 
 - aufs3-linux.git#aufs3.x-rcN branch
   ditto
 
 - aufs3-standalone.git
   ditto
 
 - aufs-util.git
   none

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


Re: aufs3 GIT release

2013-05-06 Thread sfjro

Klaus Knopper:
 It seems that the 3.9 branch of aufs3-standalone.git (not
 aufs3-linux.git) is not available yet on sourceforge or github, or did I
 miss something?

The aufs3-standalone.git exists on SourceForge only, and it surely
contains the aufs3.9 branch.
What made you it doesn't?


J. R. Okajima

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


Re: aufs3 GIT release

2013-05-06 Thread Klaus Knopper
On Tue, May 07, 2013 at 11:57:58AM +0900, sf...@users.sourceforge.net wrote:
 
 Klaus Knopper:
  It seems that the 3.9 branch of aufs3-standalone.git (not
  aufs3-linux.git) is not available yet on sourceforge or github, or did I
  miss something?
 
 The aufs3-standalone.git exists on SourceForge only, and it surely
 contains the aufs3.9 branch.
 What made you it doesn't?

$ rm -f aufs3-standalone.git
$ git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git 
aufs3-standalone.git
$ cd aufs3-standalone.git
$ git branch -a
* master
  remotes/origin/HEAD - origin/master
  remotes/origin/aufs3.0
  remotes/origin/aufs3.1
  remotes/origin/aufs3.2
  remotes/origin/aufs3.3
  remotes/origin/aufs3.4
  remotes/origin/aufs3.5
  remotes/origin/aufs3.6
  remotes/origin/aufs3.7
  remotes/origin/aufs3.8
  remotes/origin/aufs3.x-rcN
  remotes/origin/master

But I remember you wrote earlier something about having to check out new
branches separately, just can't find your mail right now.

Regards
-Klaus

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


Re: aufs3 GIT release

2013-05-06 Thread sfjro

Klaus Knopper:
 $ rm -f aufs3-standalone.git
 $ git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git 
 aufs3-standalone.git

The GIT repos on SourceForge was converted and the new one is
git://git.code.sf.net/p/aufs/aufs3-linux


J. R. Okajima

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


Re: aufs3 GIT release

2013-05-06 Thread sfjro

 The GIT repos on SourceForge was converted and the new one is
 git://git.code.sf.net/p/aufs/aufs3-linux

I mean
git://git.code.sf.net/p/aufs/aufs3-standalone


J. R. Okajima

--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


Re: aufs3 GIT release

2013-05-05 Thread kirk w

   Another AUFS user with a neat implementation here:
   http://blog.picloud.com/2013/05/01/using-aufs-and-lxc-to-manage-dependencies
   -at-cloud-scale/
   And of course, Fatdog64 is happy to have AUFS as our root filesystem:
   http://distro.ibiblio.org/fatdog/web/
   Thanks Junjiro
 _

   From: sf...@users.sourceforge.net sf...@users.sourceforge.net
   To: aufs-users@lists.sourceforge.net
   Sent: Sunday, May 5, 2013 9:36 PM
   Subject: aufs3 GIT release
   o news
   - a new branch aufs3.9 is created, and aufs3.x-rcN is for linux-3.10.
   - aufs3-linux.git on SourceForge is unstable and unreliable. Until it
 calm down, try git://github.com/sfjro/aufs3-linux.git instead.
   o enhancement
   - the simple linked list for the aufs pseudo-link is restructured, and
 it becomes a very simple hashed list.
   J. R. Okajima
   --
   - aufs3-linux.git#aufs3.2..aufs3.8 branch
 aufs: plink hlist 1/5, tiny, split au_plink_half_refresh()
 aufs: plink hlist 2/5, tiny, implement au_sphl for hlist
 aufs: plink hlist 3/5, convert the plink list into hlist
 aufs: plink hlist 4/5, make it a hashed array
 aufs: plink hlist 5/5, implement /debug/aufs/si_id/plink
 aufs: update the donator list
   - aufs3-linux.git#aufs3.9 branch
 Addtion to above,
 aufs: for 3.9, remove the pos param from hlist func
   - aufs3-linux.git#aufs3.x-rcN branch
 ditto
   - aufs3-standalone.git
 ditto
   - aufs-util.git
 none
   
   --
   Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
   Get 100% visibility into your production application - at no cost.
   Code-level diagnostics for performance bottlenecks with 2% overhead
   Download for free and get started troubleshooting in minutes.
   http://p.sf.net/sfu/appdyn_d2d_ap1
--
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with 2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

git://github.com/sfjro/aufs3-linux.git (Re: GIT repo (Re: aufs3 GIT release))

2013-04-30 Thread sfjro

V.Krishn:
 Also if easily possible to maintain, can there be an official mirror at 
 github 
 or any other free repository.
 Searching github did show some unofficial mirror for aufs.

I have created aufs3-linux.git repository on github. But I don't know
when it will end. If SourceForge becomes stable, I will stop updating
github.


J. R. Okajima

--
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with 2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1


Re: GIT repo (Re: aufs3 GIT release)

2013-04-26 Thread V.Krishn
On Friday, April 26, 2013 09:33:22 AM sf...@users.sourceforge.net wrote:
 sf...@users.sourceforge.net:
  The web interface of aufs GIT repos are still broken and the SourceForge
  engineering team is working on it. The GIT repo itself should be
  available and ok.
  
  Recently there happened several things on aufs GIT repos, both of my
  local and the public one on SF. And I made changes on very essential
  features of aufs at the same time. Hmm, I am afraid if I made a mistake
  in my git work (or in SF side), something unpleasant may happen.
 
 About the current situation of the public GIT repositories on
 SourceForge, as far as I know,
 - some branches are lost
 - some new commits (which were git-pushed at the same time with the lost
   branches) are kept
 - the repositories looks unreliable
 - the web interface is still broken

I have sf aufs git clone dated 20130406.
aufs-util-20130406.tar.bz2 (130kb)
+
aufs3-standalone-20130406.tar.bz2 (984kb)
I am not sure if they are as should be.
Pls let me know if they can be useful.
For aufs like tool, I would suggest a github mirror.

-- 
Regards.
V.Krishn


 
 Very unpleasant.
 
 Additionally my local GIT repositories seems to be corrupted.
 - all refs (branches) are lost
 - most of old commits are kept
 - some new commits are lost
 
 I restored many of them from my backup. But some are totally gone,
 particulary my local working branches, which include some incomplete
 implementations and git-stash-es.
 
 I have tried git-push some lost new branches, but the SF GIT server
 behaves strangely and I am asking SF people.
 
 Since I am hoping the SF engineering team will recover well, if you find
 something wrong in your aufs GIT repository, please don't panic (like
 me).
 
 
 J. R. Okajima
 
 ---
 --- Try New Relic Now  We'll Send You this Cool Shirt
 New Relic is the only SaaS-based application performance monitoring service
 that delivers powerful full stack analytics. Optimize and monitor your
 browser, app,  servers with just a few lines of code. Try New Relic
 and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr


--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr


Re: GIT repo (Re: aufs3 GIT release)

2013-04-26 Thread V.Krishn
On Friday, April 26, 2013 08:45:46 PM you wrote:
 V.Krishn:
  I have sf aufs git clone dated 20130406.
  aufs-util-20130406.tar.bz2 (130kb)
  +
  aufs3-standalone-20130406.tar.bz2 (984kb)
  I am not sure if they are as should be.
  Pls let me know if they can be useful.
  For aufs like tool, I would suggest a github mirror.
 
 Thanks for your offer.
 But I could restored most of old objects (probably all).
 The totally lost objects are all non-public ones.
 
 By the way, I implemented the undeletable branch top dir we discussed
 while ago. This new branch attribute is set by default, and a user can
 disable/enable it manually.

Thanks. 
Hope the default behaviour is accepted.

Also if easily possible to maintain, can there be an official mirror at github 
or any other free repository.
Searching github did show some unofficial mirror for aufs.

-- 
Regards.
V.Krishn

--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr


GIT repo (Re: aufs3 GIT release)

2013-04-25 Thread sfjro

sf...@users.sourceforge.net:
 The web interface of aufs GIT repos are still broken and the SourceForge
 engineering team is working on it. The GIT repo itself should be
 available and ok.

 Recently there happened several things on aufs GIT repos, both of my
 local and the public one on SF. And I made changes on very essential
 features of aufs at the same time. Hmm, I am afraid if I made a mistake
 in my git work (or in SF side), something unpleasant may happen.

About the current situation of the public GIT repositories on
SourceForge, as far as I know,
- some branches are lost
- some new commits (which were git-pushed at the same time with the lost
  branches) are kept
- the repositories looks unreliable
- the web interface is still broken

Very unpleasant.

Additionally my local GIT repositories seems to be corrupted.
- all refs (branches) are lost
- most of old commits are kept
- some new commits are lost

I restored many of them from my backup. But some are totally gone,
particulary my local working branches, which include some incomplete
implementations and git-stash-es.

I have tried git-push some lost new branches, but the SF GIT server
behaves strangely and I am asking SF people.

Since I am hoping the SF engineering team will recover well, if you find
something wrong in your aufs GIT repository, please don't panic (like
me).


J. R. Okajima

--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr