two stat datas, we change quotas of the owner of the directory and of the owner of the parent directory */ jbegin_count = JOURNAL_PER_BALANCE_CNT * 2 + 2 + 2 * (REISERFS_QUOTA_INIT_BLOCKS+REISERFS_QUOTA_TRANS_BLOCKS); 
* two stat datas, we change quotas of the owner of the directory and of * the owner of the parent directory. The quota structure is possibly * deleted only on iput => outside of this transaction */ jbegin_count = JOURNAL_PER_BALANCE_CNT * 2 + 2 + 4 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); 
static int reiserfs_unlink (struct inode * dir, struct dentry *dentry){    int retval, err;    struct inode * inode;    struct reiserfs_dir_entry de;    INITIALIZE_PATH (path);    struct reiserfs_transaction_handle th ;    int jbegin_count;    unsigned long savelink;    inode = dentry->d_inode;    /* in this transaction we can be doing at max two balancings and update       two stat datas, we change quotas of the owner of the directory and of       the owner of the parent directory */    jbegin_count = JOURNAL_PER_BALANCE_CNT * 2 + 2 + 2 * (REISERFS_QUOTA_INIT_BLOCKS+REISERFS_QUOTA_TRANS_BLOCKS);    reiserfs_write_lock(dir->i_sb);    retval = journal_begin(&th, dir->i_sb, jbegin_count) ;    if (retval)        goto out_unlink;	    de.de_gen_number_bit_string = NULL;    if ( (retval = reiserfs_find_entry (dir, dentry->d_name.name, dentry->d_name.len, &path, &de)) == NAME_NOT_FOUND) {	retval = -ENOENT;	goto end_unlink;    } else if (retval == IO_ERROR) {	retval = -EIO;	goto end_unlink;    }    reiserfs_update_inode_transaction(inode) ;    reiserfs_update_inode_transaction(dir) ;    if (de.de_objectid != inode->i_ino) {	// FIXME: compare key of an object and a key found in the	// entry	retval = -EIO;	goto end_unlink;    }      if (!inode->i_nlink) {	reiserfs_warning (inode->i_sb, "%s: deleting nonexistent file "			  "(%s:%lu), %d", __FUNCTION__,			  reiserfs_bdevname (inode->i_sb), inode->i_ino,			  inode->i_nlink);	inode->i_nlink = 1;    }    inode->i_nlink--;    /*     * we schedule before doing the add_save_link call, save the link     * count so we don't race     */    savelink = inode->i_nlink;    retval = reiserfs_cut_from_item (&th, &path, &(de.de_entry_key), dir, NULL, 0);    if (retval < 0) {	inode->i_nlink++;	goto end_unlink;    }    inode->i_ctime = CURRENT_TIME_SEC;    reiserfs_update_sd (&th, inode);    dir->i_size -= (de.de_entrylen + DEH_SIZE);    dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC;    reiserfs_update_sd (&th, dir);    if (!savelink)       /* prevent file from getting lost */       add_save_link (&th, inode, 0/* not truncate */);    retval = journal_end(&th, dir->i_sb, jbegin_count) ;    reiserfs_check_path(&path) ;    reiserfs_write_unlock(dir->i_sb);    return retval; end_unlink:    pathrelse (&path);    err = journal_end(&th, dir->i_sb, jbegin_count) ;    reiserfs_check_path(&path) ;    if (err)        retval = err;out_unlink:    reiserfs_write_unlock(dir->i_sb);    return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/556a2a45bce1740f035befaa7201e4ad836c7257/namei.c/clean/fs/reiserfs/namei.c