X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdfilter%2Ffilter.c;h=a498a6667b3e2ee85d6283e65c98e424964211ce;hp=6ae7c4fbdb5b17ac3def81fbb736da0c4c11ffa4;hb=e89bea86e6eb1c4b8e735271d4ee6ddcd8b0fe89;hpb=4117d173ce0ae2e03ce48b9a9a592941c2928439 diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index 6ae7c4f..a498a66 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -1595,7 +1595,10 @@ static int filter_destroy_internal(struct obd_device *obd, obd_id objid, struct inode *inode = dchild->d_inode; int rc; - if (inode->i_nlink != 1 || atomic_read(&inode->i_count) != 1) { + /* There should be 2 references to the inode: + * 1) taken by filter_prepare_destroy + * 2) taken by filter_destroy */ + if (inode->i_nlink != 1 || atomic_read(&inode->i_count) != 2) { CERROR("destroying objid %.*s ino %lu nlink %lu count %d\n", dchild->d_name.len, dchild->d_name.name, inode->i_ino, (unsigned long)inode->i_nlink,