From: Nick Piggin Hugh noticed the page wasn't being unlocked at all in the affs conversion. Signed-off-by: Hugh Dickins Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton --- fs/affs/file.c | 5 +++++ 1 file changed, 5 insertions(+) diff -puN fs/affs/file.c~affs-convert-to-new-aops-fix fs/affs/file.c --- a/fs/affs/file.c~affs-convert-to-new-aops-fix +++ a/fs/affs/file.c @@ -13,6 +13,7 @@ */ #include "affs.h" +#include /* mark_page_accessed */ #if PAGE_SIZE < 4096 #error PAGE_SIZE must be at least 4096 @@ -767,6 +768,10 @@ done: if (tmp > inode->i_size) inode->i_size = AFFS_I(inode)->mmu_private = tmp; + unlock_page(page); + mark_page_accessed(page); + page_cache_release(page); + return written; out: _