diff --git a/[refs] b/[refs] index 275d93d9ebd9..da83dc84e5cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 169e16ce816ca417286daf1db25de424a9d65a0c +refs/heads/master: dbd646a851713bec5bfff40ecf624b2e78518fe5 diff --git a/trunk/fs/ceph/addr.c b/trunk/fs/ceph/addr.c index bf535815592d..d0cdceb0b90b 100644 --- a/trunk/fs/ceph/addr.c +++ b/trunk/fs/ceph/addr.c @@ -448,8 +448,13 @@ static int writepage_nounlock(struct page *page, struct writeback_control *wbc) static int ceph_writepage(struct page *page, struct writeback_control *wbc) { - int err = writepage_nounlock(page, wbc); + int err; + struct inode *inode = page->mapping->host; + BUG_ON(!inode); + igrab(inode); + err = writepage_nounlock(page, wbc); unlock_page(page); + iput(inode); return err; }