On Tue, Dec 12, 2017 at 2:32 AM, Gregory Farnum <gfarnum@xxxxxxxxxx> wrote: > On Mon, Dec 11, 2017 at 4:48 AM, Yan, Zheng <ukernel@xxxxxxxxx> wrote: >> On Mon, Dec 11, 2017 at 8:13 PM, Amon Ott <a.ott@xxxxxxxxxxxx> wrote: >>> Hello Ceph folks, >>> >>> when running latest Stable 64 Bit Google Chrome under Linux with home >>> dirs on cephfs, I get the attached kernel trace and cephfs access hangs >>> afterwards. Umounting cephfs no longer works, only a hard system reset >>> helps. Since it only happens on cephfs, I hope to get some help here. >>> >>> Kernel versions tested are 4.9.67 and 4.9.68, each with RSBAC patched >>> in. However, RSBAC does not touch these funktions. Since 4.9.68 just had >>> a fix related to page_mkwrite(), it might be related. The trace can be >>> reproduced with every start of Chrome, but we have not seen anything >>> similar with other applications, e.g. Firefox. Ceph backend lives on xfs >>> or btrfs on the same system, crash happens with both. >>> >>> Thanks for all your good work, >> >> it's likely caused by following code in ceph_read_iter() >> >> current->journal_info = filp; >> ret = generic_file_read_iter(iocb, to); >> current->journal_info = NULL; >> >> ceph set current->journal_info, which confuses ext4. I will try >> writing a fix tomorrow. > > I don't understand how Ceph code changing a ceph inode can confuse > ext4. Can you provide a little more background here? > -Greg > current is a macro that return pointer of task_struct. The code set current->journal_info, which tells ceph_readpages() that caller has already gotten Fcr caps. EXT4 uses current->journal_info to store its journal handle. In this case, the buffer for read(2) is memory mapped to a ext4 file. Copying data to read buffer triggers page fault, page fault handler calls ext4_page_mkwrite(). >> >> Regards >> Yan, Zheng >> >>> >>> Amon Ott >>> -- >>> Dr. Amon Ott >>> m-privacy GmbH Tel: +49 30 24342334 >>> Werner-Voß-Damm 62 Fax: +49 30 99296856 >>> 12101 Berlin http://www.m-privacy.de >>> >>> Amtsgericht Charlottenburg, HRB 84946 >>> >>> Geschäftsführer: >>> Dipl.-Kfm. Holger Maczkowsky, >>> Roman Maczkowsky >>> >>> GnuPG-Key-ID: 0x2DD3A649 >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html