Konstantin Belousov wrote: >On Tue, Aug 07, 2018 at 12:28:33PM +0000, Rick Macklem wrote: >> Hi, >> >> During testing of the pNFS server I get an ffs_truncate3 panic every once in >> a while. >> A few things that might be relevant: >> - Seems to happen more often when soft update journaling is enabled, but will >> happen when it is disabled. >> - Normally happens when a fairly large subtree of the file system is being >> removed. - Oh, and this is an old i386 with 256Mbytes (not one of them new fangled computers, where memory is in Gbytes;-)
>> >> These file systems are a bit odd, since all the regular files in them are >> empty but >> have extended attributes that are accessed during the subtree removal. (The >> extended attributes tell the server where the data files are.) >> >> I replaced the panic() with a printf() and every time the printf() happens... >> bo->bo_dirty.bv_cnt == 0 and bo->bo_clean.bv_cnt == 1. >> After one of these printf()s, the system continues to run ok. When the file >> system is fsck'd after this has occurred, it passes fine and I haven't seen >> and >> indication of file system corruption after running with this file system for >> quite a while after the printf()s first occurred. >The lack of corruption is, most likely, because the files are removed. >Would the files truncated to zero length and then extended, I am almost >sure that a corruption occur. > >Can you print the only buffer on the clean queue when the panic occur ? ffst3 vtyp=1 bodirty=0 boclean=1 buf at 0x428a110 b_flags = 0x20001020<vmio,reuse,cache>, b_xflags=0x2<clean>, b_vflags=0x0 b_error = 0, b_bufsize = 4096, b_bcount = 4096, b_resid = 0 b_bufobj = (0xfd8ba94), b_data = 0x5170000, b_blkno = -1, b_lblkno = -1, b_dep = 0 b_kvabase = 0x5170000, b_kvasize = 32768 >Also, it is interesting to know the initial length of the file. Since they are regular files, they are 0 length. (Just inodes with extended attributes.) >> >> Since the panic() only occurs when "options INVARIANTS" is enabled and I >> don't >> see evidence of file system corruption, I'm wondering if this panic() is >> valid and >> needed? rick _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"