reiserfs_update_sd(th, inode); 
mark_inode_dirty(inode); 
static int reiserfs_commit_write(struct file *f, struct page *page,				 unsigned from, unsigned to){	struct inode *inode = page->mapping->host;	loff_t pos = ((loff_t) page->index << PAGE_CACHE_SHIFT) + to;	int ret = 0;	int update_sd = 0;	struct reiserfs_transaction_handle *th = NULL;	reiserfs_wait_on_write_block(inode->i_sb);	if (reiserfs_transaction_running(inode->i_sb)) {		th = current->journal_info;	}	reiserfs_commit_page(inode, page, from, to);	/* generic_commit_write does this for us, but does not update the	 ** transaction tracking stuff when the size changes.  So, we have	 ** to do the i_size updates here.	 */	if (pos > inode->i_size) {		struct reiserfs_transaction_handle myth;		reiserfs_write_lock(inode->i_sb);		/* If the file have grown beyond the border where it		   can have a tail, unmark it as needing a tail		   packing */		if ((have_large_tails(inode->i_sb)		     && inode->i_size > i_block_size(inode) * 4)		    || (have_small_tails(inode->i_sb)			&& inode->i_size > i_block_size(inode)))			REISERFS_I(inode)->i_flags &= ~i_pack_on_close_mask;		ret = journal_begin(&myth, inode->i_sb, 1);		if (ret) {			reiserfs_write_unlock(inode->i_sb);			goto journal_error;		}		reiserfs_update_inode_transaction(inode);		inode->i_size = pos;		reiserfs_update_sd(&myth, inode);		update_sd = 1;		ret = journal_end(&myth, inode->i_sb, 1);		reiserfs_write_unlock(inode->i_sb);		if (ret)			goto journal_error;	}	if (th) {		reiserfs_write_lock(inode->i_sb);		if (!update_sd)			reiserfs_update_sd(th, inode);		ret = reiserfs_end_persistent_transaction(th);		reiserfs_write_unlock(inode->i_sb);		if (ret)			goto out;	}	/* we test for O_SYNC here so we can commit the transaction	 ** for any packed tails the file might have had	 */	if (f && (f->f_flags & O_SYNC)) {		reiserfs_write_lock(inode->i_sb);		ret = reiserfs_commit_for_inode(inode);		reiserfs_write_unlock(inode->i_sb);	}      out:	return ret;      journal_error:	if (th) {		reiserfs_write_lock(inode->i_sb);		if (!update_sd)			reiserfs_update_sd(th, inode);		ret = reiserfs_end_persistent_transaction(th);		reiserfs_write_unlock(inode->i_sb);	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9f03783ce5d851e4b98dfaf3e9eb177870f6c75d/inode.c/clean/fs/reiserfs/inode.c