login
Header Space

 
 

__mark_inode_dirty(9)

July 19, 2007 - 1:23am
Submitted by Jeremy on July 19, 2007 - 1:23am.

INDEX

    NAME, SYNOPSIS, ARGUMENTS, DESCRIPTION, COPYRIGHT

    "__MARK_INODE_DIRTY" "9" "July 2007" "Kernel Hackers Manual 2.6.22" "The Linux VFS"

    NAME

    __mark_inode_dirty - internal function

    SYNOPSIS

    "void __mark_inode_dirty(struct inode * " "inode" ", int " "flags" ");"

    ARGUMENTS

    inode

    inode to mark
    flags
    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.

    DESCRIPTION

    Put the inode on the super block's dirty list.

    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.

    In short, make sure you hash any inodes _before_ you start marking them dirty.

    This function *must* be atomic for the I_DIRTY_PAGES case - set_page_dirtyfR
    is called under spinlock in several places.

    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.

    COPYRIGHT

speck-geostationary