Re: [PATCH, RFC] prune back iprune_sem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 15, 2011 at 03:49:05PM +0100, Jan Kara wrote:
> inodes, that are just being freed by prune_icache(). Thus we can trigger
> WARN_ON() in evict_inodes():
>                 if (inode->i_state & (I_NEW | I_FREEING | I_WILL_FREE)) {
>                         WARN_ON(1);
>                         continue;
>                 }

That WARN_ON didn't exist when I submitted the patch three month ago,
but yes, it should be removed now.

>   Otherwise, the change looks safe to me. BTW, the iprune_sem is now used
> only so that evict_inodes() can wait for prune_icache() to finish so maybe
> we could have something simpler for that?

I can't think of anything simple.  The proper way to do it would be to
make the inode lru per-sb just like the dentry lru list.  That way we
always hold a reference to the superblock while pruning inodes form the
LRU and all associated issues go away.  Dave had a patch for this as
part of implementing a

	for_each_sb {
		prune dcache;
		prune icache;
		prune fs-specific cache;
	}

algorithm.  I still think it's the right way to go, but it fell under
the table and I really need a way to fix the lockdep warning / rare
deadlock the current scheme causes for XFS.

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux