Hi guys,

I just tried to merge the aufs3.6 branch into the 3.6.2 kernel, which
caused a merge failure. I'm not 100% sure if this is the right way to
get with 3.6.2 with aufs, or where and how this should be fixed.

In any case, this is what I did:

matthijs@grubby:/usr/src/linux-webconverger$ git checkout v3.6.2
(...)
matthijs@grubby:/usr/src/linux-webconverger$ git merge aufs3/aufs3.6
Auto-merging fs/buffer.c
CONFLICT (content): Merge conflict in fs/buffer.c
Automatic merge failed; fix conflicts and then commit the result.
matthijs@grubby:/usr/src/linux-webconverger$ git diff
diff --cc fs/buffer.c
index b5f0442,f314bc2..0000000
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@@ -2312,6 -2312,14 +2312,17 @@@ int __block_page_mkwrite(struct vm_area
        loff_t size;
        int ret;
  
++<<<<<<< HEAD
++=======
+       /*
+        * Update file times before taking page lock. We may end up failing the
+        * fault so this update may be superfluous but who really cares...
+        */
+       file_update_time(vma->vm_file);
+       if (vma->vm_prfile)
+               file_update_time(vma->vm_prfile);
+ 
++>>>>>>> aufs3/aufs3.6
        lock_page(page);
        size = i_size_read(inode);
        if ((page->mapping != inode->i_mapping) ||


And here's the change that causes the conflict (copied from git diff v3.6
v3.6.2, I haven't pinpointed the revision it was introduced in:

diff --git a/fs/buffer.c b/fs/buffer.c
index 58e2e7b..b5f0442 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2312,12 +2312,6 @@ int __block_page_mkwrite(struct vm_area_struct *vma, 
struct vm_fault *vmf,
        loff_t size;
        int ret;
 
-       /*
-        * Update file times before taking page lock. We may end up failing the
-        * fault so this update may be superfluous but who really cares...
-        */
-       file_update_time(vma->vm_file);
-
        lock_page(page);
        size = i_size_read(inode);
        if ((page->mapping != inode->i_mapping) ||
@@ -2355,6 +2349,13 @@ int block_page_mkwrite(struct vm_area_struct *vma, 
struct vm_fault *vmf,
        struct super_block *sb = vma->vm_file->f_path.dentry->d_inode->i_sb;
 
        sb_start_pagefault(sb);
+
+       /*
+        * Update file times before taking page lock. We may end up failing the
+        * fault so this update may be superfluous but who really cares...
+        */
+       file_update_time(vma->vm_file);
+
        ret = __block_page_mkwrite(vma, vmf, get_block);
        sb_end_pagefault(sb);
        return block_page_mkwrite_return(ret);

Fixing this seems simple enough, just move the two lines introduced by aufs
along wit the file_update_time call.

(FWIW, I've been able to succesfully boot 3.6 with aufs3.6 on top, but
was prompted to try 3.6.2 by a comment in another thread)

Gr.

Matthijs

Attachment: signature.asc
Description: Digital signature

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev

Reply via email to