.\"Generated by db2man.xsl. Don't modify this, modify the source. .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "__MARK_INODE_DIRTY" 9 "August 2005" "Kernel Hackers Manual" "LINUX" .SH NAME __mark_inode_dirty \- internal function .SH "SYNOPSIS" .ad l .hy 0 .HP 27 void\ \fB__mark_inode_dirty\ \fR\ (struct\ inode\ *\ \fIinode\fR, int\ \fIflags\fR); .ad .hy .SH "ARGUMENTS" .TP \fIinode\fR inode to mark .TP \fIflags\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\&.