Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b7f6a62 authored by Andi Kleen's avatar Andi Kleen
Browse files
parents b3edc9ce 3f5a6ca3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
# Top-level generic files
#
tags
TAGS
vmlinux*
System.map
Module.symvers
+3 −5
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ S: Longford, Ireland
S: Sydney, Australia

N: Tigran A. Aivazian
E: tigran@veritas.com
E: tigran@aivazian.fsnet.co.uk
W: http://www.moses.uklinux.net/patches
D: BFS filesystem
D: Intel IA32 CPU microcode update support
@@ -3511,14 +3511,12 @@ D: The Linux Support Team Erlangen

N: David Weinehall
E: tao@acc.umu.se
P: 1024D/DC47CA16 7ACE 0FB0 7A74 F994 9B36  E1D1 D14E 8526 DC47 CA16
W: http://www.acc.umu.se/~tao/
W: http://www.acc.umu.se/~mcalinux/
D: v2.0 kernel maintainer
D: Fixes for the NE/2-driver
D: Miscellaneous MCA-support
D: Cleanup of the Config-files
S: Axtorpsvagen 40:20
S: S-903 37  UMEA
S: Sweden

N: Matt Welsh
E: mdw@metalab.unc.edu
+16 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ Description:
		these states.

What:		/sys/power/disk
Date:		August 2006
Date:		September 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Description:
		The /sys/power/disk file controls the operating mode of the
@@ -39,6 +39,19 @@ Description:
		'reboot' - the memory image will be saved by the kernel and
		the system will be rebooted.

		Additionally, /sys/power/disk can be used to turn on one of the
		two testing modes of the suspend-to-disk mechanism: 'testproc'
		or 'test'.  If the suspend-to-disk mechanism is in the
		'testproc' mode, writing 'disk' to /sys/power/state will cause
		the kernel to disable nonboot CPUs and freeze tasks, wait for 5
		seconds, unfreeze tasks and enable nonboot CPUs.  If it is in
		the 'test' mode, writing 'disk' to /sys/power/state will cause
		the kernel to disable nonboot CPUs and freeze tasks, shrink
		memory, suspend devices, wait for 5 seconds, resume devices,
		unfreeze tasks and enable nonboot CPUs.  Then, we are able to
		look in the log messages and work out, for example, which code
		is being slow and which device drivers are misbehaving.

		The suspend-to-disk method may be chosen by writing to this
		file one of the accepted strings:

@@ -46,6 +59,8 @@ Description:
		'platform'
		'shutdown'
		'reboot'
		'testproc'
		'test'

		It will only change to 'firmware' or 'platform' if the system
		supports that.
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
	    kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
	    procfs-guide.xml writing_usb_driver.xml \
	    kernel-api.xml journal-api.xml lsm.xml usb.xml \
	    kernel-api.xml filesystems.xml lsm.xml usb.xml \
	    gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
	    genericirq.xml

+160 −92
Original line number Diff line number Diff line
@@ -2,37 +2,9 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
	"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>

<book id="LinuxJBDAPI">
<book id="Linux-filesystems-API">
 <bookinfo>
  <title>The Linux Journalling API</title>
  <authorgroup>
  <author>
     <firstname>Roger</firstname>
     <surname>Gammans</surname>
     <affiliation>
     <address>
      <email>rgammans@computer-surgery.co.uk</email>
     </address>
    </affiliation>
     </author> 
  </authorgroup>
  
  <authorgroup>
   <author>
    <firstname>Stephen</firstname>
    <surname>Tweedie</surname>
    <affiliation>
     <address>
      <email>sct@redhat.com</email>
     </address>
    </affiliation>
   </author>
  </authorgroup>

  <copyright>
   <year>2002</year>
   <holder>Roger Gammans</holder>
  </copyright>
  <title>Linux Filesystems API</title>

  <legalnotice>
   <para>
@@ -66,9 +38,105 @@

<toc></toc>

  <chapter id="Overview">
     <title>Overview</title>
  <chapter id="vfs">
     <title>The Linux VFS</title>
     <sect1><title>The Filesystem types</title>
!Iinclude/linux/fs.h
     </sect1>
     <sect1><title>The Directory Cache</title>
!Efs/dcache.c
!Iinclude/linux/dcache.h
     </sect1>
     <sect1><title>Inode Handling</title>
!Efs/inode.c
!Efs/bad_inode.c
     </sect1>
     <sect1><title>Registration and Superblocks</title>
!Efs/super.c
     </sect1>
     <sect1><title>File Locks</title>
!Efs/locks.c
!Ifs/locks.c
     </sect1>
     <sect1><title>Other Functions</title>
!Efs/mpage.c
!Efs/namei.c
!Efs/buffer.c
!Efs/bio.c
!Efs/seq_file.c
!Efs/filesystems.c
!Efs/fs-writeback.c
!Efs/block_dev.c
     </sect1>
  </chapter>

  <chapter id="proc">
     <title>The proc filesystem</title>

     <sect1><title>sysctl interface</title>
!Ekernel/sysctl.c
     </sect1>

     <sect1><title>proc filesystem interface</title>
!Ifs/proc/base.c
     </sect1>
  </chapter>

  <chapter id="sysfs">
     <title>The Filesystem for Exporting Kernel Objects</title>
!Efs/sysfs/file.c
!Efs/sysfs/symlink.c
!Efs/sysfs/bin.c
  </chapter>

  <chapter id="debugfs">
     <title>The debugfs filesystem</title>

     <sect1><title>debugfs interface</title>
!Efs/debugfs/inode.c
!Efs/debugfs/file.c
     </sect1>
  </chapter>

  <chapter id="LinuxJDBAPI">
  <chapterinfo>
  <title>The Linux Journalling API</title>

  <authorgroup>
  <author>
     <firstname>Roger</firstname>
     <surname>Gammans</surname>
     <affiliation>
     <address>
      <email>rgammans@computer-surgery.co.uk</email>
     </address>
    </affiliation>
     </author>
  </authorgroup>

  <authorgroup>
   <author>
    <firstname>Stephen</firstname>
    <surname>Tweedie</surname>
    <affiliation>
     <address>
      <email>sct@redhat.com</email>
     </address>
    </affiliation>
   </author>
  </authorgroup>

  <copyright>
   <year>2002</year>
   <holder>Roger Gammans</holder>
  </copyright>
  </chapterinfo>

  <title>The Linux Journalling API</title>

    <sect1>
     <title>Overview</title>
    <sect2>
     <title>Details</title>
<para>
The journalling layer is  easy to use. You need to
@@ -111,7 +179,6 @@ Now you can go ahead and start modifying the underlying
filesystem. Almost.
</para>


<para>

You still need to actually journal your filesystem changes, this
@@ -156,7 +223,6 @@ Then at umount time , in your put_super() (2.4) or write_super() (2.5)
you can then call journal_destroy() to clean up your in-core journal object.
</para>


<para>
Unfortunately there a couple of ways the journal layer can cause a deadlock.
The first thing to note is that each task can only have
@@ -239,9 +305,9 @@ this would be useful if you needed to know when data was committed to a
particular inode.
</para>

</sect1>
    </sect2>

<sect1>
    <sect2>
     <title>Summary</title>
<para>
Using the journal is a matter of wrapping the different context changes,
@@ -279,11 +345,11 @@ an example.
   }
   journal_destroy(my_jrnl);
</programlisting>
</sect1>
    </sect2>

</chapter>
    </sect1>

  <chapter id="adt">
    <sect1>
     <title>Data Types</title>
     <para>
	The journalling layer uses typedefs to 'hide' the concrete definitions
@@ -292,27 +358,27 @@ an example.

	Obviously the hiding is not enforced as this is 'C'.
     </para>
	<sect1><title>Structures</title>
	<sect2><title>Structures</title>
!Iinclude/linux/jbd.h
	</sect2>
    </sect1>
</chapter>

  <chapter id="calls">
    <sect1>
     <title>Functions</title>
     <para>
	The functions here are split into two groups those that
	affect a journal as a whole, and those which are used to
	manage transactions
     </para>
	<sect1><title>Journal Level</title>
	<sect2><title>Journal Level</title>
!Efs/jbd/journal.c
!Ifs/jbd/recovery.c
	</sect1>
	<sect1><title>Transasction Level</title>
	</sect2>
	<sect2><title>Transasction Level</title>
!Efs/jbd/transaction.c
	</sect2>
    </sect1>
</chapter>
<chapter>
    <sect1>
     <title>See also</title>
	<para>
	  <citation>
@@ -328,6 +394,8 @@ an example.
	   </ulink>
	   </citation>
	</para>
    </sect1>

  </chapter>

</book>
Loading