From mboxrd@z Thu Jan 1 00:00:00 1970 From: Holger =?iso-8859-1?q?Hoffst=E4tte?= Subject: tmpfs: occasional WARNING at mm/shmem.c:609 shmem_evict_inode() Date: Wed, 11 Mar 2015 12:06:53 +0000 (UTC) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To: linux-fsdevel@vger.kernel.org Return-path: Received: from plane.gmane.org ([80.91.229.3]:58344 "EHLO plane.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751019AbbCKMHB (ORCPT ); Wed, 11 Mar 2015 08:07:01 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YVfPf-000850-O4 for linux-fsdevel@vger.kernel.org; Wed, 11 Mar 2015 13:06:59 +0100 Received: from pd953ef04.dip0.t-ipconnect.de ([217.83.239.4]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Mar 2015 13:06:59 +0100 Received: from holger.hoffstaette by pd953ef04.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Mar 2015 13:06:59 +0100 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Not sure if this should go here (-mm?), but it is FS related, so.. This is with 3.19.1, but I think I saw it before as well. Every once in a while (approx. every couple of weeks or so) I get something like the following: Mar 9 18:25:01 tux kernel: ------------[ cut here ]------------ Mar 9 18:25:01 tux kernel: WARNING: CPU: 1 PID: 24856 at mm/shmem.c:609 shmem_evict_inode+0x10a/0x140() Mar 9 18:25:01 tux kernel: Modules linked in: btrfs nfsd auth_rpcgss oid_registry lockd grace sunrpc sch_fq_codel xor raid6_pq snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal coretemp crc32_pclmul i915 crc32c_intel aesni_intel snd_hda_intel aes_x86_64 intel_gtt snd_hda_controller glue_helper i2c_algo_bit lrw gf128mul snd_hda_codec ablk_helper drm_kms_helper cryptd snd_pcm drm r8169 snd_timer i2c_i801 snd mii soundcore i2c_core video usbhid [last unloaded: btrfs] Mar 9 18:25:01 tux kernel: CPU: 1 PID: 24856 Comm: rm Not tainted 3.19.1 #1 Mar 9 18:25:01 tux kernel: Hardware name: System manufacturer System Product Name/P8Z68-V LX, BIOS 4105 07/01/2013 Mar 9 18:25:01 tux kernel: ffffffff8173f375 ffff8800b65d7d78 ffffffff815420fa 0000000000000007 Mar 9 18:25:01 tux kernel: 0000000000000000 ffff8800b65d7db8 ffffffff8104cfea ffff8800c0af4680 Mar 9 18:25:01 tux kernel: ffff8800c0af4560 ffff8800c0af4560 ffff8800c0af4560 ffff8800c0af4578 Mar 9 18:25:01 tux kernel: Call Trace: Mar 9 18:25:01 tux kernel: [] dump_stack+0x45/0x57 Mar 9 18:25:01 tux kernel: [] warn_slowpath_common+0x8a/0xc0 Mar 9 18:25:01 tux kernel: [] warn_slowpath_null+0x1a/0x20 Mar 9 18:25:01 tux kernel: [] shmem_evict_inode+0x10a/0x140 Mar 9 18:25:01 tux kernel: [] evict+0xbc/0x1b0 Mar 9 18:25:01 tux kernel: [] iput+0xf5/0x1a0 Mar 9 18:25:01 tux kernel: [] do_unlinkat+0x1ba/0x310 Mar 9 18:25:01 tux kernel: [] ? iterate_dir+0x79/0x130 Mar 9 18:25:01 tux kernel: [] ? dnotify_flush+0x42/0x100 Mar 9 18:25:01 tux kernel: [] ? filp_close+0x5a/0x80 Mar 9 18:25:01 tux kernel: [] SyS_unlinkat+0x1b/0x40 Mar 9 18:25:01 tux kernel: [] system_call_fastpath+0x12/0x17 Mar 9 18:25:01 tux kernel: ---[ end trace 4d758c9126672397 ]--- This seems to be related to building kernels & packages on tmpfs; in this case it was a package post-build cleanup rm that hit it. The relevant line in shmem_evict_inode() according to [1] is: .. 608 simple_xattrs_free(&info->xattrs); 609 WARN_ON(inode->i_blocks); 610 shmem_free_inode(inode->i_sb); 611 clear_inode(inode); .. Why would rm trip over existing blocks? Thanks! Holger [1] http://lxr.free-electrons.com/source/mm/shmem.c#L592