.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "__MARK_INODE_DIRTY" "9" "09 October 2005" "" ""
.SH NAME
__mark_inode_dirty \- internal function
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void __mark_inode_dirty (struct inode * \fIinode\fB, int \fIflags\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIinode\fB\fR
inode to mark
.TP
\fB\fIflags\fB\fR
what kind of dirty (i.e. I_DIRTY_SYNC)
Mark an inode as dirty. Callers should use mark_inode_dirty or
mark_inode_dirty_sync.
.SH "DESCRIPTION"
.PP
Put the inode on the super block's dirty list.
.PP
CAREFUL! We mark it dirty unconditionally, but move it onto the
dirty list only if it is hashed or if it refers to a blockdev.
If it was not hashed, it will never be added to the dirty list
even if it is later hashed, as it will have been marked dirty already.
.PP
In short, make sure you hash any inodes _before_ you start marking
them dirty.
.PP
This function *must* be atomic for the I_DIRTY_PAGES case -
\fBset_page_dirty\fR is called under spinlock in several places.
.PP
Note that for blockdevs, inode->dirtied_when represents the dirtying time of
the block-special inode (/dev/hda1) itself. And the ->dirtied_when field of
the kernel-internal blockdev inode represents the dirtying time of the
blockdev's pages. This is why for I_DIRTY_PAGES we always use
page->mapping->host, so the page-dirtying time is recorded in the internal
blockdev inode.