diff options
| author | James Morris <jmorris@namei.org> | 2011-04-19 07:32:41 -0400 |
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2011-04-19 07:32:41 -0400 |
| commit | d4ab4e6a23f805abb8fc3cc34525eec3788aeca1 (patch) | |
| tree | eefd82c155bc27469a85667d759cd90facf4a6e3 /Documentation/filesystems | |
| parent | c0fa797ae6cd02ff87c0bfe0d509368a3b45640e (diff) | |
| parent | 96fd2d57b8252e16dfacf8941f7a74a6119197f5 (diff) | |
Merge branch 'master'; commit 'v2.6.39-rc3' into next
Diffstat (limited to 'Documentation/filesystems')
| -rw-r--r-- | Documentation/filesystems/autofs4-mount-control.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/caching/netfs-api.txt | 18 | ||||
| -rw-r--r-- | Documentation/filesystems/configfs/configfs.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/ext4.txt | 4 | ||||
| -rw-r--r-- | Documentation/filesystems/gfs2-uevents.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/gfs2.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/ntfs.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/ocfs2.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/path-lookup.txt | 4 | ||||
| -rw-r--r-- | Documentation/filesystems/pohmelfs/network_protocol.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/proc.txt | 6 | ||||
| -rw-r--r-- | Documentation/filesystems/squashfs.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/sysfs.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/vfs.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/xfs-delayed-logging-design.txt | 8 |
15 files changed, 30 insertions, 30 deletions
diff --git a/Documentation/filesystems/autofs4-mount-control.txt b/Documentation/filesystems/autofs4-mount-control.txt index 51986bf08a4d..4c95935cbcf4 100644 --- a/Documentation/filesystems/autofs4-mount-control.txt +++ b/Documentation/filesystems/autofs4-mount-control.txt | |||
| @@ -309,7 +309,7 @@ ioctlfd field set to the descriptor obtained from the open call. | |||
| 309 | AUTOFS_DEV_IOCTL_TIMEOUT_CMD | 309 | AUTOFS_DEV_IOCTL_TIMEOUT_CMD |
| 310 | ---------------------------- | 310 | ---------------------------- |
| 311 | 311 | ||
| 312 | Set the expire timeout for mounts withing an autofs mount point. | 312 | Set the expire timeout for mounts within an autofs mount point. |
| 313 | 313 | ||
| 314 | The call requires an initialized struct autofs_dev_ioctl with the | 314 | The call requires an initialized struct autofs_dev_ioctl with the |
| 315 | ioctlfd field set to the descriptor obtained from the open call. | 315 | ioctlfd field set to the descriptor obtained from the open call. |
diff --git a/Documentation/filesystems/caching/netfs-api.txt b/Documentation/filesystems/caching/netfs-api.txt index 1902c57b72ef..a167ab876c35 100644 --- a/Documentation/filesystems/caching/netfs-api.txt +++ b/Documentation/filesystems/caching/netfs-api.txt | |||
| @@ -95,7 +95,7 @@ restraints as possible on how an index is structured and where it is placed in | |||
| 95 | the tree. The netfs can even mix indices and data files at the same level, but | 95 | the tree. The netfs can even mix indices and data files at the same level, but |
| 96 | it's not recommended. | 96 | it's not recommended. |
| 97 | 97 | ||
| 98 | Each index entry consists of a key of indeterminate length plus some auxilliary | 98 | Each index entry consists of a key of indeterminate length plus some auxiliary |
| 99 | data, also of indeterminate length. | 99 | data, also of indeterminate length. |
| 100 | 100 | ||
| 101 | There are some limits on indices: | 101 | There are some limits on indices: |
| @@ -203,23 +203,23 @@ This has the following fields: | |||
| 203 | 203 | ||
| 204 | If the function is absent, a file size of 0 is assumed. | 204 | If the function is absent, a file size of 0 is assumed. |
| 205 | 205 | ||
| 206 | (6) A function to retrieve auxilliary data from the netfs [optional]. | 206 | (6) A function to retrieve auxiliary data from the netfs [optional]. |
| 207 | 207 | ||
| 208 | This function will be called with the netfs data that was passed to the | 208 | This function will be called with the netfs data that was passed to the |
| 209 | cookie acquisition function and the maximum length of auxilliary data that | 209 | cookie acquisition function and the maximum length of auxiliary data that |
| 210 | it may provide. It should write the auxilliary data into the given buffer | 210 | it may provide. It should write the auxiliary data into the given buffer |
| 211 | and return the quantity it wrote. | 211 | and return the quantity it wrote. |
| 212 | 212 | ||
| 213 | If this function is absent, the auxilliary data length will be set to 0. | 213 | If this function is absent, the auxiliary data length will be set to 0. |
| 214 | 214 | ||
| 215 | The length of the auxilliary data buffer may be dependent on the key | 215 | The length of the auxiliary data buffer may be dependent on the key |
| 216 | length. A netfs mustn't rely on being able to provide more than 400 bytes | 216 | length. A netfs mustn't rely on being able to provide more than 400 bytes |
| 217 | for both. | 217 | for both. |
| 218 | 218 | ||
| 219 | (7) A function to check the auxilliary data [optional]. | 219 | (7) A function to check the auxiliary data [optional]. |
| 220 | 220 | ||
| 221 | This function will be called to check that a match found in the cache for | 221 | This function will be called to check that a match found in the cache for |
| 222 | this object is valid. For instance with AFS it could check the auxilliary | 222 | this object is valid. For instance with AFS it could check the auxiliary |
| 223 | data against the data version number returned by the server to determine | 223 | data against the data version number returned by the server to determine |
| 224 | whether the index entry in a cache is still valid. | 224 | whether the index entry in a cache is still valid. |
| 225 | 225 | ||
| @@ -232,7 +232,7 @@ This has the following fields: | |||
| 232 | (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update | 232 | (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update |
| 233 | (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted | 233 | (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted |
| 234 | 234 | ||
| 235 | This function can also be used to extract data from the auxilliary data in | 235 | This function can also be used to extract data from the auxiliary data in |
| 236 | the cache and copy it into the netfs's structures. | 236 | the cache and copy it into the netfs's structures. |
| 237 | 237 | ||
| 238 | (8) A pair of functions to manage contexts for the completion callback | 238 | (8) A pair of functions to manage contexts for the completion callback |
diff --git a/Documentation/filesystems/configfs/configfs.txt b/Documentation/filesystems/configfs/configfs.txt index fabcb0e00f25..dd57bb6bb390 100644 --- a/Documentation/filesystems/configfs/configfs.txt +++ b/Documentation/filesystems/configfs/configfs.txt | |||
| @@ -409,7 +409,7 @@ As a consequence of this, default_groups cannot be removed directly via | |||
| 409 | rmdir(2). They also are not considered when rmdir(2) on the parent | 409 | rmdir(2). They also are not considered when rmdir(2) on the parent |
| 410 | group is checking for children. | 410 | group is checking for children. |
| 411 | 411 | ||
| 412 | [Dependant Subsystems] | 412 | [Dependent Subsystems] |
| 413 | 413 | ||
| 414 | Sometimes other drivers depend on particular configfs items. For | 414 | Sometimes other drivers depend on particular configfs items. For |
| 415 | example, ocfs2 mounts depend on a heartbeat region item. If that | 415 | example, ocfs2 mounts depend on a heartbeat region item. If that |
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt index 6b050464a90d..c79ec58fd7f6 100644 --- a/Documentation/filesystems/ext4.txt +++ b/Documentation/filesystems/ext4.txt | |||
| @@ -97,7 +97,7 @@ Note: More extensive information for getting started with ext4 can be | |||
| 97 | * Inode allocation using large virtual block groups via flex_bg | 97 | * Inode allocation using large virtual block groups via flex_bg |
| 98 | * delayed allocation | 98 | * delayed allocation |
| 99 | * large block (up to pagesize) support | 99 | * large block (up to pagesize) support |
| 100 | * efficent new ordered mode in JBD2 and ext4(avoid using buffer head to force | 100 | * efficient new ordered mode in JBD2 and ext4(avoid using buffer head to force |
| 101 | the ordering) | 101 | the ordering) |
| 102 | 102 | ||
| 103 | [1] Filesystems with a block size of 1k may see a limit imposed by the | 103 | [1] Filesystems with a block size of 1k may see a limit imposed by the |
| @@ -106,7 +106,7 @@ directory hash tree having a maximum depth of two. | |||
| 106 | 2.2 Candidate features for future inclusion | 106 | 2.2 Candidate features for future inclusion |
| 107 | 107 | ||
| 108 | * Online defrag (patches available but not well tested) | 108 | * Online defrag (patches available but not well tested) |
| 109 | * reduced mke2fs time via lazy itable initialization in conjuction with | 109 | * reduced mke2fs time via lazy itable initialization in conjunction with |
| 110 | the uninit_bg feature (capability to do this is available in e2fsprogs | 110 | the uninit_bg feature (capability to do this is available in e2fsprogs |
| 111 | but a kernel thread to do lazy zeroing of unused inode table blocks | 111 | but a kernel thread to do lazy zeroing of unused inode table blocks |
| 112 | after filesystem is first mounted is required for safety) | 112 | after filesystem is first mounted is required for safety) |
diff --git a/Documentation/filesystems/gfs2-uevents.txt b/Documentation/filesystems/gfs2-uevents.txt index fd966dc9979a..d81889669293 100644 --- a/Documentation/filesystems/gfs2-uevents.txt +++ b/Documentation/filesystems/gfs2-uevents.txt | |||
| @@ -62,7 +62,7 @@ be fixed. | |||
| 62 | 62 | ||
| 63 | The REMOVE uevent is generated at the end of an unsuccessful mount | 63 | The REMOVE uevent is generated at the end of an unsuccessful mount |
| 64 | or at the end of a umount of the filesystem. All REMOVE uevents will | 64 | or at the end of a umount of the filesystem. All REMOVE uevents will |
| 65 | have been preceeded by at least an ADD uevent for the same fileystem, | 65 | have been preceded by at least an ADD uevent for the same fileystem, |
| 66 | and unlike the other uevents is generated automatically by the kernel's | 66 | and unlike the other uevents is generated automatically by the kernel's |
| 67 | kobject subsystem. | 67 | kobject subsystem. |
| 68 | 68 | ||
diff --git a/Documentation/filesystems/gfs2.txt b/Documentation/filesystems/gfs2.txt index 0b59c0200912..4cda926628aa 100644 --- a/Documentation/filesystems/gfs2.txt +++ b/Documentation/filesystems/gfs2.txt | |||
| @@ -11,7 +11,7 @@ their I/O so file system consistency is maintained. One of the nifty | |||
| 11 | features of GFS is perfect consistency -- changes made to the file system | 11 | features of GFS is perfect consistency -- changes made to the file system |
| 12 | on one machine show up immediately on all other machines in the cluster. | 12 | on one machine show up immediately on all other machines in the cluster. |
| 13 | 13 | ||
| 14 | GFS uses interchangable inter-node locking mechanisms, the currently | 14 | GFS uses interchangeable inter-node locking mechanisms, the currently |
| 15 | supported mechanisms are: | 15 | supported mechanisms are: |
| 16 | 16 | ||
| 17 | lock_nolock -- allows gfs to be used as a local file system | 17 | lock_nolock -- allows gfs to be used as a local file system |
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 933bc66ccff1..791af8dac065 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
| @@ -350,7 +350,7 @@ Note the "Should sync?" parameter "nosync" means that the two mirrors are | |||
| 350 | already in sync which will be the case on a clean shutdown of Windows. If the | 350 | already in sync which will be the case on a clean shutdown of Windows. If the |
| 351 | mirrors are not clean, you can specify the "sync" option instead of "nosync" | 351 | mirrors are not clean, you can specify the "sync" option instead of "nosync" |
| 352 | and the Device-Mapper driver will then copy the entirety of the "Source Device" | 352 | and the Device-Mapper driver will then copy the entirety of the "Source Device" |
| 353 | to the "Target Device" or if you specified multipled target devices to all of | 353 | to the "Target Device" or if you specified multiple target devices to all of |
| 354 | them. | 354 | them. |
| 355 | 355 | ||
| 356 | Once you have your table, save it in a file somewhere (e.g. /etc/ntfsvolume1), | 356 | Once you have your table, save it in a file somewhere (e.g. /etc/ntfsvolume1), |
diff --git a/Documentation/filesystems/ocfs2.txt b/Documentation/filesystems/ocfs2.txt index 5393e6611691..9ed920a8cd79 100644 --- a/Documentation/filesystems/ocfs2.txt +++ b/Documentation/filesystems/ocfs2.txt | |||
| @@ -80,7 +80,7 @@ user_xattr (*) Enables Extended User Attributes. | |||
| 80 | nouser_xattr Disables Extended User Attributes. | 80 | nouser_xattr Disables Extended User Attributes. |
| 81 | acl Enables POSIX Access Control Lists support. | 81 | acl Enables POSIX Access Control Lists support. |
| 82 | noacl (*) Disables POSIX Access Control Lists support. | 82 | noacl (*) Disables POSIX Access Control Lists support. |
| 83 | resv_level=2 (*) Set how agressive allocation reservations will be. | 83 | resv_level=2 (*) Set how aggressive allocation reservations will be. |
| 84 | Valid values are between 0 (reservations off) to 8 | 84 | Valid values are between 0 (reservations off) to 8 |
| 85 | (maximum space for reservations). | 85 | (maximum space for reservations). |
| 86 | dir_resv_level= (*) By default, directory reservations will scale with file | 86 | dir_resv_level= (*) By default, directory reservations will scale with file |
diff --git a/Documentation/filesystems/path-lookup.txt b/Documentation/filesystems/path-lookup.txt index eb59c8b44be9..3571667c7105 100644 --- a/Documentation/filesystems/path-lookup.txt +++ b/Documentation/filesystems/path-lookup.txt | |||
| @@ -42,7 +42,7 @@ Path walking overview | |||
| 42 | A name string specifies a start (root directory, cwd, fd-relative) and a | 42 | A name string specifies a start (root directory, cwd, fd-relative) and a |
| 43 | sequence of elements (directory entry names), which together refer to a path in | 43 | sequence of elements (directory entry names), which together refer to a path in |
| 44 | the namespace. A path is represented as a (dentry, vfsmount) tuple. The name | 44 | the namespace. A path is represented as a (dentry, vfsmount) tuple. The name |
| 45 | elements are sub-strings, seperated by '/'. | 45 | elements are sub-strings, separated by '/'. |
| 46 | 46 | ||
| 47 | Name lookups will want to find a particular path that a name string refers to | 47 | Name lookups will want to find a particular path that a name string refers to |
| 48 | (usually the final element, or parent of final element). This is done by taking | 48 | (usually the final element, or parent of final element). This is done by taking |
| @@ -354,7 +354,7 @@ vfstest 24185492 4945 708725(2.9%) 1076136(4.4%) 0 2651 | |||
| 354 | 354 | ||
| 355 | What this shows is that failed rcu-walk lookups, ie. ones that are restarted | 355 | What this shows is that failed rcu-walk lookups, ie. ones that are restarted |
| 356 | entirely with ref-walk, are quite rare. Even the "vfstest" case which | 356 | entirely with ref-walk, are quite rare. Even the "vfstest" case which |
| 357 | specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to excercise | 357 | specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to exercise |
| 358 | such races is not showing a huge amount of restarts. | 358 | such races is not showing a huge amount of restarts. |
| 359 | 359 | ||
| 360 | Dropping from rcu-walk to ref-walk mean that we have encountered a dentry where | 360 | Dropping from rcu-walk to ref-walk mean that we have encountered a dentry where |
diff --git a/Documentation/filesystems/pohmelfs/network_protocol.txt b/Documentation/filesystems/pohmelfs/network_protocol.txt index 40ea6c295afb..65e03dd44823 100644 --- a/Documentation/filesystems/pohmelfs/network_protocol.txt +++ b/Documentation/filesystems/pohmelfs/network_protocol.txt | |||
| @@ -20,7 +20,7 @@ Commands can be embedded into transaction command (which in turn has own command | |||
| 20 | so one can extend protocol as needed without breaking backward compatibility as long | 20 | so one can extend protocol as needed without breaking backward compatibility as long |
| 21 | as old commands are supported. All string lengths include tail 0 byte. | 21 | as old commands are supported. All string lengths include tail 0 byte. |
| 22 | 22 | ||
| 23 | All commans are transfered over the network in big-endian. CPU endianess is used at the end peers. | 23 | All commands are transferred over the network in big-endian. CPU endianess is used at the end peers. |
| 24 | 24 | ||
| 25 | @cmd - command number, which specifies command to be processed. Following | 25 | @cmd - command number, which specifies command to be processed. Following |
| 26 | commands are used currently: | 26 | commands are used currently: |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 23cae6548d3a..b0b814d75ca1 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
| @@ -543,7 +543,7 @@ just those considered 'most important'. The new vectors are: | |||
| 543 | their statistics are used by kernel developers and interested users to | 543 | their statistics are used by kernel developers and interested users to |
| 544 | determine the occurrence of interrupts of the given type. | 544 | determine the occurrence of interrupts of the given type. |
| 545 | 545 | ||
| 546 | The above IRQ vectors are displayed only when relevent. For example, | 546 | The above IRQ vectors are displayed only when relevant. For example, |
| 547 | the threshold vector does not exist on x86_64 platforms. Others are | 547 | the threshold vector does not exist on x86_64 platforms. Others are |
| 548 | suppressed when the system is a uniprocessor. As of this writing, only | 548 | suppressed when the system is a uniprocessor. As of this writing, only |
| 549 | i386 and x86_64 platforms support the new IRQ vector displays. | 549 | i386 and x86_64 platforms support the new IRQ vector displays. |
| @@ -1202,7 +1202,7 @@ The columns are: | |||
| 1202 | W = can do write operations | 1202 | W = can do write operations |
| 1203 | U = can do unblank | 1203 | U = can do unblank |
| 1204 | flags E = it is enabled | 1204 | flags E = it is enabled |
| 1205 | C = it is prefered console | 1205 | C = it is preferred console |
| 1206 | B = it is primary boot console | 1206 | B = it is primary boot console |
| 1207 | p = it is used for printk buffer | 1207 | p = it is used for printk buffer |
| 1208 | b = it is not a TTY but a Braille device | 1208 | b = it is not a TTY but a Braille device |
| @@ -1331,7 +1331,7 @@ NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see | |||
| 1331 | Documentation/feature-removal-schedule.txt. | 1331 | Documentation/feature-removal-schedule.txt. |
| 1332 | 1332 | ||
| 1333 | Caveat: when a parent task is selected, the oom killer will sacrifice any first | 1333 | Caveat: when a parent task is selected, the oom killer will sacrifice any first |
| 1334 | generation children with seperate address spaces instead, if possible. This | 1334 | generation children with separate address spaces instead, if possible. This |
| 1335 | avoids servers and important system daemons from being killed and loses the | 1335 | avoids servers and important system daemons from being killed and loses the |
| 1336 | minimal amount of work. | 1336 | minimal amount of work. |
| 1337 | 1337 | ||
diff --git a/Documentation/filesystems/squashfs.txt b/Documentation/filesystems/squashfs.txt index 2d78f1911844..d4d41465a0b1 100644 --- a/Documentation/filesystems/squashfs.txt +++ b/Documentation/filesystems/squashfs.txt | |||
| @@ -219,7 +219,7 @@ or if it is stored out of line (in which case the value field stores a | |||
| 219 | reference to where the actual value is stored). This allows large values | 219 | reference to where the actual value is stored). This allows large values |
| 220 | to be stored out of line improving scanning and lookup performance and it | 220 | to be stored out of line improving scanning and lookup performance and it |
| 221 | also allows values to be de-duplicated, the value being stored once, and | 221 | also allows values to be de-duplicated, the value being stored once, and |
| 222 | all other occurences holding an out of line reference to that value. | 222 | all other occurrences holding an out of line reference to that value. |
| 223 | 223 | ||
| 224 | The xattr lists are packed into compressed 8K metadata blocks. | 224 | The xattr lists are packed into compressed 8K metadata blocks. |
| 225 | To reduce overhead in inodes, rather than storing the on-disk | 225 | To reduce overhead in inodes, rather than storing the on-disk |
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt index f806e50aaa63..597f728e7b4e 100644 --- a/Documentation/filesystems/sysfs.txt +++ b/Documentation/filesystems/sysfs.txt | |||
| @@ -62,7 +62,7 @@ values of the same type. | |||
| 62 | 62 | ||
| 63 | Mixing types, expressing multiple lines of data, and doing fancy | 63 | Mixing types, expressing multiple lines of data, and doing fancy |
| 64 | formatting of data is heavily frowned upon. Doing these things may get | 64 | formatting of data is heavily frowned upon. Doing these things may get |
| 65 | you publically humiliated and your code rewritten without notice. | 65 | you publicly humiliated and your code rewritten without notice. |
| 66 | 66 | ||
| 67 | 67 | ||
| 68 | An attribute definition is simply: | 68 | An attribute definition is simply: |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 80815ed654cb..21a7dc467bba 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
| @@ -97,7 +97,7 @@ functions: | |||
| 97 | The passed struct file_system_type describes your filesystem. When a | 97 | The passed struct file_system_type describes your filesystem. When a |
| 98 | request is made to mount a filesystem onto a directory in your namespace, | 98 | request is made to mount a filesystem onto a directory in your namespace, |
| 99 | the VFS will call the appropriate mount() method for the specific | 99 | the VFS will call the appropriate mount() method for the specific |
| 100 | filesystem. New vfsmount refering to the tree returned by ->mount() | 100 | filesystem. New vfsmount referring to the tree returned by ->mount() |
| 101 | will be attached to the mountpoint, so that when pathname resolution | 101 | will be attached to the mountpoint, so that when pathname resolution |
| 102 | reaches the mountpoint it will jump into the root of that vfsmount. | 102 | reaches the mountpoint it will jump into the root of that vfsmount. |
| 103 | 103 | ||
diff --git a/Documentation/filesystems/xfs-delayed-logging-design.txt b/Documentation/filesystems/xfs-delayed-logging-design.txt index 5282e3e51413..2ce36439c09f 100644 --- a/Documentation/filesystems/xfs-delayed-logging-design.txt +++ b/Documentation/filesystems/xfs-delayed-logging-design.txt | |||
| @@ -42,7 +42,7 @@ the aggregation of all the previous changes currently held only in the log. | |||
| 42 | This relogging technique also allows objects to be moved forward in the log so | 42 | This relogging technique also allows objects to be moved forward in the log so |
| 43 | that an object being relogged does not prevent the tail of the log from ever | 43 | that an object being relogged does not prevent the tail of the log from ever |
| 44 | moving forward. This can be seen in the table above by the changing | 44 | moving forward. This can be seen in the table above by the changing |
| 45 | (increasing) LSN of each subsquent transaction - the LSN is effectively a | 45 | (increasing) LSN of each subsequent transaction - the LSN is effectively a |
| 46 | direct encoding of the location in the log of the transaction. | 46 | direct encoding of the location in the log of the transaction. |
| 47 | 47 | ||
| 48 | This relogging is also used to implement long-running, multiple-commit | 48 | This relogging is also used to implement long-running, multiple-commit |
| @@ -338,7 +338,7 @@ the same time another transaction modifies the item and inserts the log item | |||
| 338 | into the new CIL, then checkpoint transaction commit code cannot use log items | 338 | into the new CIL, then checkpoint transaction commit code cannot use log items |
| 339 | to store the list of log vectors that need to be written into the transaction. | 339 | to store the list of log vectors that need to be written into the transaction. |
| 340 | Hence log vectors need to be able to be chained together to allow them to be | 340 | Hence log vectors need to be able to be chained together to allow them to be |
| 341 | detatched from the log items. That is, when the CIL is flushed the memory | 341 | detached from the log items. That is, when the CIL is flushed the memory |
| 342 | buffer and log vector attached to each log item needs to be attached to the | 342 | buffer and log vector attached to each log item needs to be attached to the |
| 343 | checkpoint context so that the log item can be released. In diagrammatic form, | 343 | checkpoint context so that the log item can be released. In diagrammatic form, |
| 344 | the CIL would look like this before the flush: | 344 | the CIL would look like this before the flush: |
| @@ -577,7 +577,7 @@ only becomes unpinned when all the transactions complete and there are no | |||
| 577 | pending transactions. Thus the pinning and unpinning of a log item is symmetric | 577 | pending transactions. Thus the pinning and unpinning of a log item is symmetric |
| 578 | as there is a 1:1 relationship with transaction commit and log item completion. | 578 | as there is a 1:1 relationship with transaction commit and log item completion. |
| 579 | 579 | ||
| 580 | For delayed logging, however, we have an assymetric transaction commit to | 580 | For delayed logging, however, we have an asymmetric transaction commit to |
| 581 | completion relationship. Every time an object is relogged in the CIL it goes | 581 | completion relationship. Every time an object is relogged in the CIL it goes |
| 582 | through the commit process without a corresponding completion being registered. | 582 | through the commit process without a corresponding completion being registered. |
| 583 | That is, we now have a many-to-one relationship between transaction commit and | 583 | That is, we now have a many-to-one relationship between transaction commit and |
| @@ -780,7 +780,7 @@ With delayed logging, there are new steps inserted into the life cycle: | |||
| 780 | From this, it can be seen that the only life cycle differences between the two | 780 | From this, it can be seen that the only life cycle differences between the two |
| 781 | logging methods are in the middle of the life cycle - they still have the same | 781 | logging methods are in the middle of the life cycle - they still have the same |
| 782 | beginning and end and execution constraints. The only differences are in the | 782 | beginning and end and execution constraints. The only differences are in the |
| 783 | commiting of the log items to the log itself and the completion processing. | 783 | committing of the log items to the log itself and the completion processing. |
| 784 | Hence delayed logging should not introduce any constraints on log item | 784 | Hence delayed logging should not introduce any constraints on log item |
| 785 | behaviour, allocation or freeing that don't already exist. | 785 | behaviour, allocation or freeing that don't already exist. |
| 786 | 786 | ||
