commit 883d4cae4a2b01a05193cf2665c77b7489a8b6a0 Author: Mark Fasheh Date: Mon Jun 5 16:41:00 2006 -0400 ocfs2: allocation hints Record the most recently used allocation group on the allocation context, so that subsequent allocations can attempt to optimize for contiguousness. Local alloc especially should benefit from this as the current chain search tends to let it spew across the disk. Signed-off-by: Mark Fasheh commit 7bf72edee614e10b8d470c40a326f47bfdd69992 Author: Mark Fasheh Date: Wed May 3 17:46:50 2006 -0700 ocfs2: better group descriptor consistency checks Try to catch corrupted group descriptors with some stronger checks placed in a couple of strategic locations. Detect a failed resizefs and refuse to allocate past what bitmap i_clusters allows. Signed-off-by: Mark Fasheh commit 101ebf256de54e78e6d3277adacf656e125a2c5a Author: Mark Fasheh Date: Tue May 2 17:54:45 2006 -0700 ocfs2: limit cluster bitmap information saved at mount We were storing cluster count on the ocfs2_super structure, but never actually using it so remove that. Also, we don't want to populate the uptodate cache with the unlocked block read - it is technically safe as is, but we should change it for correctness. Signed-off-by: Mark Fasheh commit 9acd72f4240429dfd762c9a2c7eb5c18b5d32529 Author: Adrian Bunk Date: Sat Jul 15 02:36:01 2006 +0200 [PATCH] fs/ocfs2/dlm/dlmmaster.c: unexport dlm_migrate_lockres This patch removes the unused EXPORT_SYMBOL_GPL(dlm_migrate_lockres). Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 34e3d180370c44ad3ecd3a1f9099e150d3bb103f Author: Kurt Hackel Date: Sat Jul 15 10:22:39 2006 -0700 ocfs2: fix check for locally granted state during dlmunlock() If a process requests a lock cancel but the lock has been remotely granted already then there is no need to send the cancel message. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit a23eac99d4392b8b779305498d7614e41a0e16e9 Author: Kurt Hackel Date: Sun Jun 18 21:28:01 2006 -0700 ocfs2: do not modify lksb->status in the unlock ast This can race with other ast notification, which can cause bad status values to propagate into the unlock ast. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 4b1af774451bbc8440719e3fe441934a337c3b63 Author: Kurt Hackel Date: Mon Jun 26 15:17:47 2006 -0700 ocfs2: Fix lvb corruption Properly ignore LVB flags during a PR downconvert. This avoids an illegal lvb update. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 184d7d20d352c7374f70ebca7468dc8cd5cc618a Author: Florin Malita Date: Sat Jun 3 19:30:10 2006 -0400 ocfs2: remove redundant NULL checks in ocfs2_direct_IO_get_blocks() Signed-off-by: Florin Malita Signed-off-by: Mark Fasheh commit 784270435b001164054e803421a624ef1098519d Author: Mark Fasheh Date: Thu May 4 12:03:26 2006 -0700 ocfs2: clean up some osb fields Get rid of osb->uuid, osb->proc_sub_dir, and osb->osb_id. Those fields were unused, or could easily be removed. As a result, we also no longer need MAX_OSB_ID or ocfs2_globals_lock. Signed-off-by: Mark Fasheh commit a75a6e4c3ada10b15e26f6d12f72c03efde266e0 Author: Mark Fasheh Date: Thu May 4 11:49:22 2006 -0700 ocfs2: fix init of uuid_net_key ocfs2_initialize_super() should be copying from the beginning of the uuid. Signed-off-by: Mark Fasheh commit e7607ab3daeeaea50b3b5aebe8dfa29a1dfb8311 Author: Mark Fasheh Date: Thu Apr 27 17:53:22 2006 -0700 ocfs2: silence a debug print Signed-off-by: Mark Fasheh commit d426721cf10824391fd38bd42f38357ace2b1c08 Author: Sunil Mushran Date: Thu Apr 27 16:44:13 2006 -0700 ocfs2: silence ENOENT during lookup of broken links Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 781ee3e2b1ea41d56ed86ae1c85fc40b7f330205 Author: Sunil Mushran Date: Thu Apr 27 16:41:31 2006 -0700 ocfs2: Cleanup message prints Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit a43db30c7c614c08851a97476aeb317ca2e14475 Author: Joel Becker Date: Thu Apr 27 16:36:14 2006 -0700 ocfs2: silence -EEXIST from ocfs2_extent_map_insert/lookup Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8169cae5a13b9f8ae53edc183825d20b4f4daeeb Author: Adrian Bunk Date: Fri Mar 31 16:53:55 2006 +0200 [PATCH] fs/ocfs2/dlm/dlmrecovery.c: make dlm_lockres_master_requery() static dlm_lockres_master_requery() became global without any external usage. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 0db638f44e7db9732d9c5704ca837f57ce061f42 Author: Mark Fasheh Date: Tue May 9 15:09:35 2006 -0700 ocfs2: warn the user on a dead timeout mismatch Print a warning to the user when a node with a different dead count joins the region. Signed-off-by: Mark Fasheh commit 2b388c67906ee8cd3bf1a600a7023cd0807d414f Author: Joel Becker Date: Wed May 10 18:28:59 2006 -0700 ocfs2: Compile-time disabling of ocfs2 debugging output. Give gcc the chance to compile out the debug logging code in ocfs2. This saves some size at the expense of being able to debug the code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit f5e54d6e53a20cef45af7499e86164f0e0d16bb2 Author: Christoph Hellwig Date: Wed Jun 28 04:26:44 2006 -0700 [PATCH] mark address_space_operations const Same as with already do with the file operations: keep them in .rodata and prevents people from doing runtime patching. Signed-off-by: Christoph Hellwig Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ad98457aa545bc4d03d417da86325507aa586ec Author: Jesper Juhl Date: Tue Jun 27 02:55:04 2006 -0700 [PATCH] Remove redundant NULL checks before [kv]free - in fs/ Remove redundant NULL checks before kfree for fs/ Signed-off-by: Jesper Juhl Acked-by: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34af946a22724c4e2b204957f2b24b22a0fb121c Author: Ingo Molnar Date: Tue Jun 27 02:53:55 2006 -0700 [PATCH] spin/rwlock init cleanups locking init cleanups: - convert " = SPIN_LOCK_UNLOCKED" to spin_lock_init() or DEFINE_SPINLOCK() - convert rwlocks in a similar manner this patch was generated automatically. Motivation: - cleanliness - lockdep needs control of lock initialization, which the open-coded variants do not give - it's also useful for -rt and for lock debugging in general Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fb5a9891dbb553dda96783dbc0dc4e77cbb2529 Author: Adrian Bunk Date: Tue May 16 17:26:41 2006 +0200 [PATCH] fs/ocfs2/dlm/: cleanups This patch #if 0's the no longer used dlm_dump_lock_resources(). Since this makes dlmdebug.h empty, this patch also removes this header. Additionally, the needlessly global dlm_is_node_recovered() is made static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 43dee336c903fae15783b90983dfdedd2c7ffefc Author: Mark Fasheh Date: Mon May 1 14:56:57 2006 -0700 ocfs2: fix compiler warnings in dlm_convert_lock_handler() We need to cast to unsigned long long. Signed-off-by: Mark Fasheh commit 8a9343fa24d8d3fcb189bed2b7afcf4b8a8c1c8d Author: Mark Fasheh Date: Mon May 1 14:55:10 2006 -0700 ocfs2: dlm_print_one_mle() needs to be defined Fixes compile breakage. Signed-off-by: Mark Fasheh commit 0032abd674a606c3cf2d9961c8119f5d72c411d0 Author: Kurt Hackel Date: Mon May 1 14:39:57 2006 -0700 ocfs2: remove whitespace in dlmunlock.c Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 3156d267016627fe427a6b0d4ed8a9678557e91e Author: Kurt Hackel Date: Mon May 1 14:39:29 2006 -0700 ocfs2: move dlm work to a private work queue The work that is done can block for long periods of time and so is not appropriate for keventd. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 495ac96e638cb0ad33baa7113531d742bfb328d4 Author: Kurt Hackel Date: Mon May 1 14:34:08 2006 -0700 ocfs2: fix incorrect error returns Use DLM_REJECTED instead of DLM_RECOVERING. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 3b3b84a892d37ba336391e411eb5f8b013b9a669 Author: Kurt Hackel Date: Mon May 1 14:31:37 2006 -0700 ocfs2: tune down some noisy messages during dlm recovery Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 56a7c104bc91b4a5f970d7372ebb04eebc633c68 Author: Kurt Hackel Date: Mon May 1 14:30:39 2006 -0700 ocfs2: display message before waiting for recovery to complete Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 44a7f1d063bbe45773353903f36d9d88fb73d82a Author: Kurt Hackel Date: Mon May 1 14:29:59 2006 -0700 ocfs2: mlog in dlm_convert_lock_handler() should be ML_ERROR Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit b220532a71adf65d45c3aa8a284bfa7ec57957bd Author: Kurt Hackel Date: Mon May 1 14:29:28 2006 -0700 ocfs2: retry operations when a lock is marked in recovery Before checking for a nonexistent lock, make sure the lockres is not marked RECOVERING. The caller will just retry and the state should be fixed up when recovery completes. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit f85cd47a5825b77a146bad6870b2ddcf08415c13 Author: Kurt Hackel Date: Mon May 1 14:27:41 2006 -0700 ocfs2: use cond_resched() in dlm_thread() yield() does not yield. cond_resched() does. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit ad8100e0d20e0123def9f83c040b68c96c8638f0 Author: Kurt Hackel Date: Mon May 1 14:25:21 2006 -0700 ocfs2: use GFP_NOFS in some dlm operations Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit b7084ab538ac2bd71ce494cf1cbbea9fe9db2c07 Author: Kurt Hackel Date: Mon May 1 13:54:07 2006 -0700 ocfs2: wait for recovery when starting lock mastery Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit c27069e6cfa242a3b84eb3442934c6fe51ee9066 Author: Kurt Hackel Date: Mon May 1 13:51:49 2006 -0700 ocfs2: continue recovery when a dead node is encountered Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 67a187412baa84dfff2d423961d86663b7fc7d3c Author: Kurt Hackel Date: Mon May 1 13:50:12 2006 -0700 ocfs2: remove unneccesary spin_unlock() in dlm_remaster_locks() Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 6a41321121ee2af33b8ac55c87657603df480b25 Author: Kurt Hackel Date: Mon May 1 13:49:20 2006 -0700 ocfs2: dlm_remaster_locks() should never exit without completing We cannot restart recovery. Once we begin to recover a node, keep the state of the recovery intact and follow through, regardless of any other node deaths that may occur. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit c8df412e1c746dd21094966d04b3a79aad0f4d08 Author: Kurt Hackel Date: Mon May 1 13:47:50 2006 -0700 ocfs2: special case recovery lock in dlmlock_remote() If the previous master of the recovery lock dies, let calc_usage take it down completely and let the caller completely redo the dlmlock() call. Otherwise, there will never be an opportunity to re-master the lockres and recovery wont be able to progress. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 36407488b1cbc4d84bc2bd14e03f3f9b768090d9 Author: Kurt Hackel Date: Mon May 1 13:32:27 2006 -0700 ocfs2: pending mastery asserts and migrations should block each other Use the existing structure for blocking migrations when ASTs are pending to achieve the same result. If we can catch the assert before it goes on the wire, just cancel it and let the migration continue. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit c87a9ae7059f718bf1bb87a702fcbef535e32111 Author: Kurt Hackel Date: Mon May 1 13:30:49 2006 -0700 ocfs2: temporarily disable automatic lock migration Now we never change the owner of a lock resource until unmount or node death. This will be re-enabled once some issues in the algorithm used have been resolved. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 2abaf97e62e51fdd09d5a46703b3b680f24bdd8b Author: Kurt Hackel Date: Mon May 1 13:27:10 2006 -0700 ocfs2: do not unconditionally purge the lockres in dlmlock_remote() In dlmlock_remote(), do not call purge_lockres until the lock resource actually changes. otherwise, the mastery info on the lockres will go away underneath the caller. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit aa087b84977173395c0e3a1e0c1773314958f277 Author: Kurt Hackel Date: Mon May 1 12:02:07 2006 -0700 ocfs2: increase backoff before waiting for recovery When mastering non-recovery lock resources, additional time was frequently needed to allow the disk heartbeat to catch up with the network timeout. the recovery lock resource is time critical and avoids this path. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit f42a100b2272bc5cb44fb2aa03526b436b1d6833 Author: Kurt Hackel Date: Mon May 1 11:53:33 2006 -0700 ocfs2: have dlm_pre_master_reco_lockres() ignore dead nodes Recovery will spin in dlm_pre_master_reco_lockres if we do not ignore timed-out network responses from dead nodes. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 6ff06a93916b3f95e83c346f7530cf2f5c68ae0c Author: Kurt Hackel Date: Mon May 1 11:51:45 2006 -0700 ocfs2: give the dlm dirty list a reference on the lockres Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit e7e69eb38946ebef86e27442d01514fcf9c854ee Author: Kurt Hackel Date: Mon May 1 11:49:52 2006 -0700 ocfs2: teach dlm_restart_lock_mastery() to wait on recovery Change behavior of dlm_restart_lock_mastery() when a node goes down. Dump all responses that have been collected and start over. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit e4eb03681a8313168d99c2f93175331a898a2c16 Author: Kurt Hackel Date: Mon May 1 11:46:59 2006 -0700 ocfs2: gracefully handle stale create_lock messages. This is an error on the sending side, so gracefully error out on the receiving end. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit ccd8b1f916bc5e4b2156f03ccd3546be7f65f6b3 Author: Kurt Hackel Date: Mon May 1 11:32:14 2006 -0700 ocfs2: update lvb immediately during recovery Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 588e00902b06528c476eed38019dba4a087def01 Author: Kurt Hackel Date: Mon May 1 11:22:06 2006 -0700 ocfs2: do not send master requests to localhost Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 8b2198097ae6a5b54ed92345989ec343070f916b Author: Kurt Hackel Date: Mon May 1 11:16:45 2006 -0700 ocfs2: purge lockres' sooner Immediately purge a lockress that the local node is not the master of. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 343e26a4007d14c2154c1d13d1209797dce5c535 Author: Kurt Hackel Date: Mon May 1 11:15:04 2006 -0700 ocfs2: dump mismatching migrated lvbs before BUG() Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 466d1a4591c4e1bc3affd5c0cf3df5ad20338fb9 Author: Kurt Hackel Date: Mon May 1 11:11:13 2006 -0700 ocfs2: make dlm recovery finalization 2 stage Makes it easier for the recovery process to deal with node death. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 69d72b066cc5971318d9e29e34289b74cf8a9d22 Author: Kurt Hackel Date: Mon May 1 10:57:51 2006 -0700 ocfs2: dlm recovery / lockres reference count fix Take a reference on lockres structures while they are on the recovery list. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit a9ee4c8a67b962db0208addf0e32935aa571af6b Author: Kurt Hackel Date: Thu Apr 27 19:26:15 2006 -0700 ocfs2: better error handling during assert master message handle errors during lock assert master by either killing self or other node Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit a7f90d83ea8dc8b0999ab7c1c0539af9a6ed69d2 Author: Kurt Hackel Date: Thu Apr 27 19:24:21 2006 -0700 ocfs2: dump lockres info before we BUG() on a bad reference Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit c0a8520c7333dd62624683772f31864c7f9c46d9 Author: Mark Fasheh Date: Thu Apr 27 19:07:45 2006 -0700 ocfs2: do LVB puts in place Don't wait until the AST will be fired to do the LVB copy into the lock resource. Signed-off-by: Mark Fasheh commit aa85235427992b8d3040297d9174d69dd1d8a675 Author: Kurt Hackel Date: Thu Apr 27 19:04:49 2006 -0700 ocfs2: mle ref count debugging Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit dc2ed195dda848c8e4b24f3f0e1952fa74f74f6b Author: Kurt Hackel Date: Thu Apr 27 19:03:18 2006 -0700 ocfs2: allow for an assert message during lock mastery Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 2d1a868c563f07c07c681836d273d69efb7c5ad8 Author: Kurt Hackel Date: Thu Apr 27 19:01:35 2006 -0700 ocfs2: take mle reference during migration Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 41b8c8a101ba77f59d9a4b3cac6c846cb8a34840 Author: Kurt Hackel Date: Thu Apr 27 19:00:26 2006 -0700 ocfs2: properly initialize the mle structure Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit da01ad05528bf6f6bcb286329b14225a71713325 Author: Kurt Hackel Date: Thu Apr 27 18:53:04 2006 -0700 ocfs2: detach mle from heartbeat events Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit a2bf04774bf4aa0a75036c1e92e3d2fd1cce2aff Author: Kurt Hackel Date: Thu Apr 27 18:51:26 2006 -0700 ocfs2: mle ref counting fixes Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 958837197e6415009cba0f31bbb5aacdb936ef09 Author: Kurt Hackel Date: Thu Apr 27 18:47:41 2006 -0700 ocfs2: better mle debugging Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit d6dea6e9732f5319b723e14f7adbc5f99cd69aec Author: Kurt Hackel Date: Thu Apr 27 18:08:51 2006 -0700 ocfs2: clean up recovery related messages Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 29c0fa0f56f20b4512f65b0f3e55bc8af50485b7 Author: Kurt Hackel Date: Thu Apr 27 18:06:58 2006 -0700 ocfs2: handle network errors during recovery Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit c3187ce5e335cf8e06391236cc1ad7d1b1e193ed Author: Kurt Hackel Date: Thu Apr 27 18:05:41 2006 -0700 ocfs2: only recover one dead node at a time Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit ab27eb6f47092923a92f7c164dcf9be3b76f3944 Author: Kurt Hackel Date: Thu Apr 27 18:03:49 2006 -0700 ocfs2: Better tracking for recovery state changes Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 8bc674cb4834fb25206b7f7f5e37fe571aa76b34 Author: Kurt Hackel Date: Thu Apr 27 18:02:10 2006 -0700 ocfs2: Fix empty lvb check The check for an empty lvb should check the entire buffer not just the first byte. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit aba9aac78817d88aa2b223f1aedf1e9815ae97b8 Author: Kurt Hackel Date: Thu Apr 27 18:00:21 2006 -0700 ocfs2: fix inverted logic in dlm_is_node_dead Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 2580a580e029f9a59a66cd230b1fd7e2d9ee339d Author: Kurt Hackel Date: Thu Apr 27 17:59:46 2006 -0700 ocfs2: recheck lockres master before sending an unlock request. Recovery may have happened and it may now be mastered locally. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 8d79d088e88198d5456861ee9e6a8226dcd08799 Author: Kurt Hackel Date: Thu Apr 27 17:58:23 2006 -0700 ocfs2: add a small delay after a failed migration Otherwise we risk starving other threads. Signed-off-by: Kurt Hackel Signed-off-by: Mark Fasheh commit 685f1adb3872d904e08e22fab699f34432d5068a Author: Mark Fasheh Date: Thu Mar 23 11:23:29 2006 -0800 ocfs2: silence a compile warning in dlm_alloc_pagevec() Reported by Andrew Morton. Signed-off-by: Mark Fasheh commit c8f33b6e86af74ee7b800f57cac7b3c8559318fe Author: Joel Becker Date: Thu Mar 16 17:40:37 2006 -0800 [PATCH] ocfs2: Alloc at least a page for the DLM hash The OCFS2 DLM allocates a number of pages for a hash to lookup locks. There was a bug where a PAGE_SIZE bigger than the hash size (eg, 64K pages) would result in zero pages allocated. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 03d864c02c3ea803b1718940ac6953a257182d7a Author: Daniel Phillips Date: Fri Mar 10 18:08:16 2006 -0800 ocfs2: allocate lockres hash pages in an array This allows us to have a hash table greater than a single page which greatly improves dlm performance on some tests. Signed-off-by: Daniel Phillips Signed-off-by: Mark Fasheh commit 95c4f581d6551de55cf5b8693db98b01ce07021b Author: Mark Fasheh Date: Fri Mar 10 13:44:00 2006 -0800 ocfs2: inline dlm_lockres_get() It's called on every lookup so this might help performance a bit. Signed-off-by: Mark Fasheh commit 4198985f7ae119a23f83503a692dd822bd574080 Author: Daniel Phillips Date: Fri Mar 10 13:31:47 2006 -0800 [PATCH] Clean up ocfs2 hash probe and make it faster Signed-Off-By: Daniel Phillips Signed-off-by: Mark Fasheh commit a3d3329159ea76bae0b3b8680691a1c3ecf5801f Author: Mark Fasheh Date: Thu Mar 9 17:55:56 2006 -0800 ocfs2: calculate lockid hash values outside of the spinlock Fixes a performance bug - pointed out by Andrew. Signed-off-by: Mark Fasheh commit 65c491d833a06fd0d1383297590772c75d28155c Author: Mark Fasheh Date: Mon Mar 6 15:36:17 2006 -0800 ocfs2: move lockres qstr next to hlist_node structure Gains us a bit of performance on loads which heavily hit the lockres hash. Patch suggested by Daniel Phillips . Signed-off-by: Mark Fasheh commit f116629d03655adaf7832b93b03c99391d09d4a7 Author: Akinobu Mita Date: Mon Jun 26 00:24:46 2006 -0700 [PATCH] fs: use list_move() This patch converts the combination of list_del(A) and list_add(A, B) to list_move(A, B) under fs/. Cc: Ian Kent Acked-by: Joel Becker Cc: Neil Brown Cc: Hans Reiser Cc: Urban Widmark Acked-by: David Howells Acked-by: Mark Fasheh Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 090d2b185d8680fc26a2eaf4245d4171dcf4baf1 Author: Pekka Enberg Date: Fri Jun 23 02:05:08 2006 -0700 [PATCH] read_mapping_page for address space Add read_mapping_page() which is used for callers that pass mapping->a_ops->readpage as the filler for read_cache_page. This removes some duplication from filesystem code. Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 726c334223180e3c0197cc980a432681370d4baf Author: David Howells Date: Fri Jun 23 02:02:58 2006 -0700 [PATCH] VFS: Permit filesystem to perform statfs with a known root dentry Give the statfs superblock operation a dentry pointer rather than a superblock pointer. This complements the get_sb() patch. That reduced the significance of sb->s_root, allowing NFS to place a fake root there. However, NFS does require a dentry to use as a target for the statfs operation. This permits the root in the vfsmount to be used instead. linux/mount.h has been added where necessary to make allyesconfig build successfully. Interest has also been expressed for use with the FUSE and XFS filesystems. Signed-off-by: David Howells Acked-by: Al Viro Cc: Nathan Scott Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 454e2398be9b9fa30433fccc548db34d19aa9958 Author: David Howells Date: Fri Jun 23 02:02:57 2006 -0700 [PATCH] VFS: Permit filesystem to override root dentry on mount Extend the get_sb() filesystem operation to take an extra argument that permits the VFS to pass in the target vfsmount that defines the mountpoint. The filesystem is then required to manually set the superblock and root dentry pointers. For most filesystems, this should be done with simple_set_mnt() which will set the superblock pointer and then set the root dentry to the superblock's s_root (as per the old default behaviour). The get_sb() op now returns an integer as there's now no need to return the superblock pointer. This patch permits a superblock to be implicitly shared amongst several mount points, such as can be done with NFS to avoid potential inode aliasing. In such a case, simple_set_mnt() would not be called, and instead the mnt_root and mnt_sb would be set directly. The patch also makes the following changes: (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount pointer argument and return an integer, so most filesystems have to change very little. (*) If one of the convenience function is not used, then get_sb() should normally call simple_set_mnt() to instantiate the vfsmount. This will always return 0, and so can be tail-called from get_sb(). (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the dcache upon superblock destruction rather than shrink_dcache_anon(). This is required because the superblock may now have multiple trees that aren't actually bound to s_root, but that still need to be cleaned up. The currently called functions assume that the whole tree is rooted at s_root, and that anonymous dentries are not the roots of trees which results in dentries being left unculled. However, with the way NFS superblock sharing are currently set to be implemented, these assumptions are violated: the root of the filesystem is simply a dummy dentry and inode (the real inode for '/' may well be inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries with child trees. [*] Anonymous until discovered from another tree. (*) The documentation has been adjusted, including the additional bit of changing ext2_* into foo_* in the documentation. [akpm@osdl.org: convert ipath_fs, do other stuff] Signed-off-by: David Howells Acked-by: Al Viro Cc: Nathan Scott Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds