commit a8a75a20e9a854685ac3e7af2e0e32f9b0be436b Author: Mark Fasheh Date: Fri Jan 26 10:46:59 2007 -0800 [PATCH] ocfs2: fix thinko in ocfs2_backup_super_blkno() Fix a bug which was introduced when I synced up ocfs2_fs.h with ocfs2-tools. We can't do u64/u32 in kernel. Signed-off-by: Mark Fasheh Signed-off-by: Linus Torvalds commit 50af94b14c98f5769860a282a397c6f3b135c8a8 Author: Mark Fasheh Date: Sun Jan 21 14:44:59 2007 -0800 ocfs2: Add backup superblock info to ocfs2_fs.h This synchronizes us with recent ocfs2-tools changes. Signed-off-by: Mark Fasheh commit 6a1bd4a5788435b6ef1664383604b43607eb825a Author: Mark Fasheh Date: Wed Jan 3 17:06:59 2007 -0800 ocfs2: cleanup ocfs2_iget() errors Get rid of some error prints in the ocfs2_iget() path from ocfs2_get_dentry(). NFSD can easily cause us to read stale inodes. Signed-off-by: Mark Fasheh commit 592282cf2eaa33409c6511ddd3f3ecaa57daeaaa Author: Mark Fasheh Date: Tue Jan 2 17:59:40 2007 -0800 ocfs2: Directory c/mtime update fixes ocfs2 wasn't updating c/mtime on directories during dirent creation/deletion. Fix ocfs2_unlink(), ocfs2_rename() and __ocfs2_add_entry() by adding the proper code to update the struct inode and push the change out to disk. This helps rename/unlink on nfs exported file systems in particular as those clients compare directory time values to avoid a full re-reading a directory which hasn't changed. ocfs2_rename() loses some superfluous error handling as a result of this patch. Signed-off-by: Mark Fasheh commit 72bce5078d124a8b13fb167aea028b6e8d91873e Author: Mark Fasheh Date: Wed Jan 3 17:25:40 2007 -0800 ocfs2: Don't print errors when following symlinks We shouldn't print errors returned from vfs_follow_link(). This was causing spurious errors to show up in the logs. Signed-off-by: Mark Fasheh commit 92efc15241ceebc23451691971897020e8563a70 Author: Zhen Wei Date: Fri Dec 8 00:48:17 2006 -0700 ocfs2: export heartbeat thread pid via configfs The patch allows the ocfs2 heartbeat thread to prioritize I/O which may help cut down on spurious fencing. Most of this will be in the tools - we can have a pid configfs attribute and let userspace (ocfs2_hb_ctl) calls the ioprio_set syscall after starting heartbeat, but only cfq scheduler supports I/O priorities now. Signed-off-by: Zhen Wei Signed-off-by: Mark Fasheh commit 7f4a2a97e324e8c826d1d983bc8efb5c59194f02 Author: Mark Fasheh Date: Mon Dec 11 11:06:36 2006 -0800 ocfs2: always unmap in ocfs2_data_convert_worker() Mmap-heavy clustered workloads were sometimes finding stale data on mmap reads. The solution is to call unmap_mapping_range() on any down convert of a data lock. Signed-off-by: Mark Fasheh commit 6c2aad0567e693f9588d0a0683f96ed872fb4641 Author: Mark Fasheh Date: Tue Dec 19 15:25:52 2006 -0800 ocfs2: ignore NULL vfsmnt in ocfs2_should_update_atime() This can come from NFSD. Signed-off-by: Mark Fasheh commit 564f8a3228879d6962edb3432d01bcd7499a67ec Author: Mark Fasheh Date: Thu Dec 14 13:01:05 2006 -0800 ocfs2: Allow direct I/O read past end of file ocfs2_direct_IO_get_blocks() was incorrectly returning -EIO for a direct I/O read whose start block was past the end of the file allocation tree. Fix things so that we return a hole instead. do_direct_IO() will then notice that the range start is past eof and return a short read. While there, remove the unused vbo_max variable. Signed-off-by: Mark Fasheh commit 0333394bff439c3fb09264303de42e7038b3e709 Author: Mark Fasheh Date: Thu Dec 14 15:29:25 2006 -0800 ocfs2: don't print error in ocfs2_permission() Errors from generic_permission() can happen in valid cases and shouldn't be reported. Signed-off-by: Mark Fasheh commit cd86128088554d64fea1679191509f00e6353c5b Author: Robert P. J. Day Date: Wed Dec 13 00:34:52 2006 -0800 [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() All kcalloc() calls of the form "kcalloc(1,...)" are converted to the equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect ordering of the first two arguments are fixed. Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Alan Cox Cc: Dominik Brodowski Cc: Adam Belay Cc: James Bottomley Cc: Greg KH Cc: Mark Fasheh Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e913c53609d5e8374f55d6f29c0bcd6650a2362 Author: Mark Fasheh Date: Wed Dec 13 00:34:35 2006 -0800 [PATCH] ocfs2: relative atime support Update ocfs2_should_update_atime() to understand the MNT_RELATIME flag and to test against mtime / ctime accordingly. [akpm@osdl.org: cleanups] Signed-off-by: Mark Fasheh Cc: Valerie Henson Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 741441ab7800f1eb031e74fd720f4f8f361678ed Merge: 659dba3... 828ae6a... Author: Linus Torvalds Date: Tue Dec 12 10:21:01 2006 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: [patch 3/3] OCFS2 Configurable timeouts - Protocol changes [patch 2/3] OCFS2 Configurable timeouts [patch 1/3] OCFS2 - Expose struct o2nm_cluster ocfs2: Synchronize feature incompat flags in ocfs2_fs.h ocfs2: update mount option documentation ocfs2: local mounts commit 828ae6afbef03bfe107a4a8cc38798419d6a2765 Author: Andrew Beekhof Date: Mon Dec 4 14:04:55 2006 +0100 [patch 3/3] OCFS2 Configurable timeouts - Protocol changes Modify the OCFS2 handshake to ensure essential timeouts are configured identically on all nodes. Only allow changes when there are no connected peers Improves the logic in o2net_advance_rx() which broke now that sizeof(struct o2net_handshake) is greater than sizeof(struct o2net_msg) Included is the field for userspace-heartbeat timeout to avoid the need for further protocol changes. Uses a global spinlock to ensure the decisions to update configfs entries are made on the correct value. The region covered by the spinlock when incrementing the counter is much larger as this is the more critical case. Small cleanup contributed by Adrian Bunk Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit d28c91740ae2cd1d963f9e4e3889789894cb6d52 Author: Josef Sipek Date: Fri Dec 8 02:37:25 2006 -0800 [PATCH] struct path: convert ocfs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5dd80304da482d77b2320e1a01a189e656b9770 Author: Jeff Mahoney Date: Mon Dec 4 14:04:54 2006 +0100 [patch 2/3] OCFS2 Configurable timeouts Allow configuration of OCFS2 timeouts from userspace via configfs Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit 296b75ed6a3b35f613961cefe4962ce1cf586d77 Author: Andrew Beekhof Date: Mon Dec 4 14:04:53 2006 +0100 [patch 1/3] OCFS2 - Expose struct o2nm_cluster Subsequent patches (namely userspace heartbeat and configurable timeouts) require access to the o2nm_cluster struct. This patch does the necessary shuffling. Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit 8903901dbf46bbdf1f70ffe7bc09cb6b97e6728a Author: Mark Fasheh Date: Thu Dec 7 18:05:37 2006 -0800 ocfs2: Synchronize feature incompat flags in ocfs2_fs.h These got a little bit out of date with ocfs2-tools, make things consistent again. We reserve a flag for sparse allocation code as that's pretty close to testable at this point. Signed-off-by: Mark Fasheh commit c271c5c22b0a7ca45fda15f1f4d258bca36a5b94 Author: Sunil Mushran Date: Tue Dec 5 17:56:35 2006 -0800 ocfs2: local mounts This allows users to format an ocfs2 file system with a special flag, OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the file system sees this flag, it will not use any cluster services, nor will it require a cluster configuration, thus acting like a 'local' file system. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 4a6e617a4bec9fb2ee4a16cf59565b2af5049e12 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:04 2006 -0800 [PATCH] fs/*: trivial vsnprintf() conversion It would very lame to get buffer overflow via one of the following. Signed-off-by: Alexey Dobriyan Cc: Dave Kleikamp Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18b890bb0881bbab6f4f1a6cd20d9c60d66b003 Author: Christoph Lameter Date: Wed Dec 6 20:33:20 2006 -0800 [PATCH] slab: remove kmem_cache_t Replace all uses of kmem_cache_t with struct kmem_cache. The patch was generated using the following script: #!/bin/sh # # Replace one string by another in all the kernel sources. # set -e for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do quilt add $file sed -e "1,\$s/$1/$2/g" $file >/tmp/$$ mv /tmp/$$ $file quilt refresh done The script was run like this sh replace kmem_cache_t "struct kmem_cache" Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b4f8da3a88457148038bc952043e99a7fdba64 Author: Christoph Lameter Date: Wed Dec 6 20:33:14 2006 -0800 [PATCH] slab: remove SLAB_NOFS SLAB_NOFS is an alias of GFP_NOFS. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9db73724453a9350e1c22dbe732d427e2939a5c9 Merge: 4c1ac1b... e624386... Author: David Howells Date: Tue Dec 5 17:01:28 2006 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/ata/libata-scsi.c include/linux/libata.h Futher merge of Linus's head and compilation fixups. Signed-Off-By: David Howells commit d38eb8db6aa359c060dfb72a29cf8d94a96657d8 Author: Tiger Yang Date: Mon Nov 27 09:59:21 2006 +0800 ocfs2: implement i_op->permission Implement .permission() in ocfs2_file_iops, ocfs2_special_file_iops and ocfs2_dir_iops. This helps us avoid some multi-node races with mode change and vfs operations. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 25899deef46c226c49c53b42c00e0f032379c04b Author: Tiger Yang Date: Wed Nov 15 15:49:02 2006 +0800 ocfs2: update file system paths to set atime Conditionally update atime in ocfs2_file_aio_read(), ocfs2_readdir() and ocfs2_mmap(). Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 7f1a37e31f94b4f1c123d32ce9f69205ab2095bd Author: Tiger Yang Date: Wed Nov 15 15:48:42 2006 +0800 ocfs2: core atime update functions This patch adds the core routines for updating atime in ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 8659ac25b434fcc61cf7797f4b69edc3eaaffb55 Author: Tiger Yang Date: Tue Oct 17 18:29:52 2006 -0700 ocfs2: Add splice support Add splice read/write support in ocfs2. ocfs2_file_splice_read/write are very similar to ocfs2_file_aio_read/write. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit e88d0c9a4180821ad64c1fb421e4c28f8155eb74 Author: Mark Fasheh Date: Tue Oct 17 17:06:53 2006 -0700 ocfs2: Remove ocfs2_write_should_remove_suid() Use should_remove_suid() instead. Signed-off-by: Mark Fasheh commit 1fabe1481fac9e01bf8bffa60a2307ef379aa5de Author: Mark Fasheh Date: Mon Oct 9 18:11:45 2006 -0700 ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t This is mostly a search and replace as ocfs2_journal_handle is now no more than a container for a handle_t pointer. ocfs2_commit_trans() becomes very straight forward, and we remove some out of date comments / code. Signed-off-by: Mark Fasheh commit 65eff9ccf86d63eb5c3e9071450a36e4e4fa9564 Author: Mark Fasheh Date: Mon Oct 9 17:26:22 2006 -0700 ocfs2: remove handle argument to ocfs2_start_trans() All callers either pass in NULL directly, or a local variable that is already set to NULL. The internals of ocfs2_start_trans() get a nice cleanup as a result. Signed-off-by: Mark Fasheh commit dae85832ffe2879b57b23aea319a0ec17667898d Author: Mark Fasheh Date: Mon Oct 9 16:50:32 2006 -0700 ocfs2: remove ocfs2_journal_handle journal field It is no longer used. Signed-off-by: Mark Fasheh commit 02dc1af44e9fa4b8801169891b3a1ba4047537ad Author: Mark Fasheh Date: Mon Oct 9 16:48:10 2006 -0700 ocfs2: pass ocfs2_super * into ocfs2_commit_trans() This sets us up to remove handle->journal. Signed-off-by: Mark Fasheh commit 4bcec1847ac4f75c2ee6d091b495f34d8d822e6a Author: Mark Fasheh Date: Mon Oct 9 16:02:40 2006 -0700 ocfs2: remove unused handle argument from ocfs2_meta_lock_full() Now that this is unused and all callers pass NULL, we can safely remove it. Signed-off-by: Mark Fasheh commit a301a27d715276a71827004549bcbb2b64776c11 Author: Mark Fasheh Date: Fri Oct 6 19:07:43 2006 -0700 ocfs2: make ocfs2_alloc_handle() static This is no longer used outside of journal.c Signed-off-by: Mark Fasheh commit daf29e9cdab7219838c6b6e82380aec3466cf379 Author: Mark Fasheh Date: Fri Oct 6 19:05:31 2006 -0700 ocfs2: remove unused ocfs2_handle_add_lock() This gets us rid of a slab we no longer need, as well as removing the majority of what's left on ocfs2_journal_handle. ocfs2_commit_unstarted_handle() has no more real work to do, so remove that function too. Signed-off-by: Mark Fasheh commit 02928a71ae6da6e3e205d99e1fa1a1f598ddb62d Author: Mark Fasheh Date: Fri Oct 6 18:51:46 2006 -0700 ocfs2: remove unused ocfs2_handle_add_inode() We can also delete the unused infrastructure which was once in place to support this functionality. ocfs2_inode_private loses ip_handle and ip_handle_list. ocfs2_journal_handle loses handle_list. Signed-off-by: Mark Fasheh commit 85b9e783cbc8cf4acc7bfaa76f37ea26b426f514 Author: Mark Fasheh Date: Fri Oct 6 18:40:41 2006 -0700 ocfs2: Don't allocate handle early in ocfs2_rename() It isn't used until ocfs2_start_trans() anyway. Signed-off-by: Mark Fasheh commit da5cbf2f9df922cfdafa39351691fa83517f1e25 Author: Mark Fasheh Date: Fri Oct 6 18:34:35 2006 -0700 ocfs2: don't use handle for locking in allocation functions Instead we record our state on the allocation context structure which all callers already know about and lifetime correctly. This means the reservation functions don't need a handle passed in any more, and we can also take it off the alloc context. Signed-off-by: Mark Fasheh commit 8d5596c687c49c1d8812c3456946dec15d069139 Author: Mark Fasheh Date: Fri Oct 6 15:04:51 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 6d8fc40e63401be065b0aa98dfa4246deca04b8c Author: Mark Fasheh Date: Fri Oct 6 11:54:33 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 30a4f5e86bc7bc388ce808117e7722706f739602 Author: Mark Fasheh Date: Fri Oct 6 11:49:45 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_unlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 5098c27bb8cd89e30d909ac9d76e305d334dadaf Author: Mark Fasheh Date: Thu Oct 5 18:12:57 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in orphan dir code Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 123a9643408882620347cc2c82f24e57dab05f44 Author: Mark Fasheh Date: Thu Oct 5 16:48:23 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_link() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e3a821385984e57d5dd1b0e7292761abb0ea4dd9 Author: Mark Fasheh Date: Thu Oct 5 16:04:17 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_mknod() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e08dc8b9808f06d412904db4d67434bf19984752 Author: Mark Fasheh Date: Thu Oct 5 15:58:48 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in __ocfs2_flush_truncate_log() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 8898a5a58fb2a2f78a15b046588b5b3adccb82c4 Author: Mark Fasheh Date: Thu Oct 5 15:42:08 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in localalloc.c Take and drop the locks directly. Signed-off-by: Mark Fasheh commit c161f89be7d57af863e434e9b15afaa863343a7a Author: Mark Fasheh Date: Thu Oct 5 15:11:36 2006 -0700 ocfs2: remove ocfs2_journal_handle flags field Callers can set h_sync directly on the handle_t, whether a transaction has been started or not can be determined via the existence of the handle_t on the struct ocfs2_journal_handle. Signed-off-by: Mark Fasheh commit 1fc581467e52546195c7ee8233a34d63c1cc1322 Author: Mark Fasheh Date: Thu Oct 5 14:15:36 2006 -0700 ocfs2: have ocfs2_extend_trans() take handle_t No reason to use our wrapper struct in this function, so take the handle_t directly. Also fixes a bug where we were incorrectly setting the handle to NULL in case of a failure from journal_restart() Signed-off-by: Mark Fasheh commit 01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b Author: Mark Fasheh Date: Thu Oct 5 13:54:39 2006 -0700 ocfs2: remove unused ocfs2_journal_handle field max_buffs was just being set and not actually used. Signed-off-by: Mark Fasheh commit f5a923d1ba648bfb3cc922c66981fc8e3280f57f Author: Mark Fasheh Date: Tue Nov 28 15:13:18 2006 -0800 ocfs2: fix format warnings in dlm_alloc_pagevec() Signed-off-by: Mark Fasheh commit da66116eef7da8557762c9b5efdc435bc0afecfa Author: Adrian Bunk Date: Mon Nov 20 03:24:28 2006 +0100 [2.6 patch] make ocfs2_create_new_lock() static This patch makes the needlessly global ocfs2_create_new_lock() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit c4028958b6ecad064b1a6303a6a5906d4fe48d73 Author: David Howells Date: Wed Nov 22 14:57:56 2006 +0000 WorkStruct: make allyesconfig Fix up for make allyesconfig. Signed-Off-By: David Howells