From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nir Tzachar Subject: a problem with dget Date: Tue, 25 Mar 2003 18:47:00 +0200 (IST) Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: fist@cs.columbia.edu Return-path: To: linux-fsdevel@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org hello all. i encountered a strange problem, involving the reference count of dentries. first, let me describe my file system (i'll be brief.. ): im implementing a file system which is supposed to emulate an object storage device. i use a wrapper like file system (much like wrapfs, and actually based on it) to store files on an underlying f/s as objects. i hope someone can help me, i've been tackling this problem for more than a week: when i create a file(say "tmp"), all is fine. the problem arises when i umount and then remount the file system. after im done with lookup (inode->i_op->lookup), dentry->d_count.counter ==1, as should be. but, when i enter the unlink function (inode->i_op->unlink ) its dentry->d_count.counter == 0 . why is that? nowhere in the vfs code does anyone decreases the counter b4 inode->i_op->unlink is called . am i right? the problem happens every time i try to do a dget an any dentry. anyway, im sure the problem is in my code, but maybe someone has a hunch which could help. thank you all. ======================================================================== nir.