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