tree dcde6f2c37d1f8b9077d2f1f165801473aa85a22
parent 4f41db2e04c13faa75bcc95cecc1abf2f07f31bf
author OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> 1399982194 +0900
committer Daniel Phillips <daniel@tux3.org> 1399982194 +0900

tux3: Fix tux3_iattrdirty() usages

Now, on some paths, mark_inode_dirty() is not called after
tux3_iattrdirty() was called.

E.g. If inode->i_ctime is same with current time, file_update_time()
skips to dirty inode.

	tux3_iattrdirty()
	file_update_time() {
	    if (!timespec_equal(&inode->i_ctime, &now))
		sync_it |= S_CTIME;
	    if (sync_it)
	        mark_inode_dirty_sync()
	}

This is wrong as tux3_iattrdirty() usage. tux3_iattrdirty() was
called, the caller must call mark_inode_dirty() too.

Otherwise,

	delta = 1
	tux3_iattrdirty(inode)
	    iattr_delta = delta

        /* flush delta 1 */
	inode is not dirty, so iattr_delta == 1 is remaining

	/* flush delta 2 for data pages */
	read_idata_for_i_size()
	    if (iattr_delta != delta)
		/*
		 * iattr_delta is still 1, so read from idata[], but
		 * idata[] is invalid.
		 */

By remaining iattr_delta, future inode flush is confused, and hits to
assertion.

To fix this, this makes sure to call tux3_iattrdirty() only when we call
mark_inode_dirty().

[FIXME: file_update_time() of mmap and write can race.]

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
