commit e8aed3450c0afd6fdb79ec233f806e3e69454dfe Author: Mark Fasheh Date: Mon Dec 3 16:43:01 2007 -0800 ocfs2: Re-journal buffers after transaction extend ocfs2_extend_trans() might call journal_restart() which will commit dirty buffers and then restart the transaction. This means that any buffers which still need changes should be passed to journal_access() again. Some paths during extend weren't doing this right. Signed-off-by: Mark Fasheh commit 0879c584ffcccd50a8d0f72cab3a51702613f901 Author: Mark Fasheh Date: Mon Dec 3 16:42:19 2007 -0800 ocfs2: Allow for debugging of transaction extends The nastiest cases of transaction extends are also the rarest. We can expose them more quickly at the expense of performance by going straight to the journal_restart() in ocfs2_extend_trans(). Wrap things in OCFS2_DEBUG_FS so that we only do this when "expensive debugging" is turned on. Signed-off-by: Mark Fasheh commit 92295d8054289eff0d52b4d12349f9b9df0f58e4 Author: Mark Fasheh Date: Mon Dec 3 15:02:10 2007 -0800 ocfs2: Don't panic when truncating an empty extent This BUG_ON() was unintentionally left in after the sparse file support was written. Signed-off-by: Mark Fasheh commit a86370fbb65a0a2cb21d28bf25a748f6cc04385b Author: Mark Fasheh Date: Mon Dec 3 14:06:23 2007 -0800 ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans() We're holding the cluster lock when a failure might happen in ocfs2_dir_foreach() so it needs to be released. Signed-off-by: Mark Fasheh commit 97bd7919e2c1445dabbcc2686795dbb52316b923 Author: Al Viro Date: Wed Dec 5 08:46:47 2007 +0000 remove nonsense force-casts from ocfs2 endianness annotations in networking code had been in place for quite a while; in particular, sin_port and s_addr are annotated as big-endian. Code in ocfs2 had __force casts added apparently to shut the sparse warnings up; of course, these days they only serve to *produce* warnings for no reason whatsoever... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b1967d0eddeef4869ee283e692735cb994f3745a Author: Mark Fasheh Date: Tue Nov 20 11:56:39 2007 -0800 ocfs2: reverse inline-data truncate args ocfs2_truncate() and ocfs2_remove_inode_range() had reversed their "set i_size" arguments to ocfs2_truncate_inline(). Fix things so that truncate sets i_size, and punching a hole ignores it. This exposed a problem where punching a hole in an inline-data file wasn't updating the page cache, so fix that too. Signed-off-by: Mark Fasheh commit 0d8a4e0cd688ad0de6430ce3425c7849cfec1c2d Author: Mark Fasheh Date: Tue Nov 20 11:48:41 2007 -0800 ocfs2: Fix comparison in ocfs2_size_fits_inline_data() This was causing us to prematurely push out inline data by one byte. Signed-off-by: Mark Fasheh commit bccb9dad8949cd0df1d3d2188a1fdb4b1936d537 Author: Mark Fasheh Date: Wed Nov 7 16:35:14 2007 -0800 ocfs2: Remove bug statement in ocfs2_dentry_iput() The existing bug statement didn't take into account unhashed dentries which might not have a cluster lock on them. This could happen if a node exporting the file system via NFS is rebooted, re-exported to nfs clients and then unmounted. It's fine in this case to not have a dentry cluster lock. Just remove the bug statement and replace it with an error print, which does the proper checks. Though we want to know if something has happened which might have prevented a cluster lock from being created, it's definitely not necessary to panic the machine for this. Signed-off-by: Mark Fasheh commit 5a58c3ef22d6e5b84ff651a7d27ae2cbea9f9870 Author: Jan Kara Date: Tue Nov 13 19:59:33 2007 +0100 [PATCH] ocfs2: Remove expensive bitmap scanning Enable expensive bitmap scanning only if DEBUG option is enabled. The bitmap scanning quite loads the CPU and on my machine the write throughput of dd if=/dev/zero of=/ocfs2/file bs=1M count=500 conv=sync improves from 37 MB/s to 45.4 MB/s in local mode... Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit a46043e08f300982c51df317e2f8fb919dedadcd Author: Mark Fasheh Date: Mon Nov 19 18:40:16 2007 -0800 ocfs2: log valid inode # on bad inode If the inode block isn't valid then we don't want to print the value from that, instead print the block number which was passed in (which should always be correct). Also, turn this into a debug print for now - folks who hit an actual problem always have other logs indicating what the source is. Signed-off-by: Mark Fasheh commit ef9f86ceb63f2803c9aada249986b84d2f99c635 Author: Mark Fasheh Date: Mon Nov 19 18:31:17 2007 -0800 ocfs2: Filter -ENOSPC in mlog_errno() It's almost never worth printing in that situation and we keep forgetting to manually filter it out. Signed-off-by: Mark Fasheh commit 2759236f8415ccc0f275b57bd8142c2c81fd2177 Author: Joe Perches Date: Mon Nov 19 17:53:34 2007 -0800 [PATCH] fs/ocfs2: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mark Fasheh commit e001e796e47d29c470de6c2cd36400e03c66118b Author: Mark Fasheh Date: Wed Nov 7 14:21:45 2007 -0800 ocfs2: Reset journal parameters after s_mount_opt update Right now we're just setting them from the existing parameters, not the new ones that a remount specified. Signed-off-by: Mark Fasheh commit 91cf45f02af5c871251165d000c3f42a2a0b0552 Author: Trond Myklebust Date: Mon Nov 12 18:10:39 2007 -0800 [NET]: Add the helper kernel_sock_shutdown() ...and fix a couple of bugs in the NBD, CIFS and OCFS2 socket handlers. Looking at the sock->op->shutdown() handlers, it looks as if all of them take a SHUT_RD/SHUT_WR/SHUT_RDWR argument instead of the RCV_SHUTDOWN/SEND_SHUTDOWN arguments. Add a helper, and then define the SHUT_* enum to ensure that kernel users of shutdown() don't get confused. Signed-off-by: Trond Myklebust Acked-by: Mark Fasheh Acked-by: David Howells Signed-off-by: David S. Miller commit e325a88f17196f18888f6e1426eb9fe3b4346d28 Author: Srinivas Eeda Date: Wed Oct 31 16:49:43 2007 -0700 ocfs2: fix rename vs unlink race If another node unlinks the destination while ocfs2_rename() is waiting on a cluster lock, ocfs2_rename() simply logs an error and continues. This causes a crash because the renaming node is now trying to delete a non-existent inode. The correct solution is to return -ENOENT. Signed-off-by: Srinivas Eeda Signed-off-by: Mark Fasheh commit bc7e97cbdd4bef162e5772c74ee2cc4487a2d997 Author: Jan Kara Date: Wed Oct 10 16:25:42 2007 +0200 [PATCH] Fix possibly too long write in o2hb_setup_one_bio() We should subtract start of our IO from PAGE_CACHE_SIZE to get the right length of the write we want to perform. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 4e9563fd55ff4479f2b118d0757d121dd0cfc39c Author: Mark Fasheh Date: Thu Nov 1 11:37:48 2007 -0700 ocfs2: fix write() performance regression On file systems which don't support sparse files, Ocfs2_map_page_blocks() was reading blocks on appending writes. This caused write performance to suffer dramatically. Fix this by detecting an appending write on a nonsparse fs and skipping the read. Signed-off-by: Mark Fasheh commit 9ea2d32f40434589ea0e136373f7d1545afb411f Author: Mark Fasheh Date: Thu Oct 18 14:14:45 2007 -0700 ocfs2: Commit journal on sync writes We're missing a meta data commit for extending sync writes. In thoery, write could return with the meta data required to read the data uncommitted to disk. Fix that by detecting an allocating write and forcing a journal commit in the sync case. Signed-off-by: Mark Fasheh commit 9f70968af3e6e21612e06e153aa71c62dee5a09b Author: Mark Fasheh Date: Thu Oct 18 12:36:10 2007 -0700 ocfs2: Re-order iput in ocfs2_drop_dentry_lock Do this to avoid a theoretical (I haven't seen this in practice) race where the downconvert thread might drop the dentry lock, allowing a remote unlink to proceed before dropping the inode locks. This could bounce access to the orphan dir between nodes. There doesn't seem to be a need to do the same in ocfs2_dentry_iput() as that's never called for the last ref drop from the downconvert thread. Signed-off-by: Mark Fasheh commit 019d1b2247c6898589560c6f3b3e7ec280b0010a Author: Mark Fasheh Date: Fri Oct 5 12:09:05 2007 -0700 ocfs2: Create locks at initially requested level If we have not yet created a cluster lock, ocfs2_cluster_lock() will first create it at NLMODE, and then convert the lock to either PRMODE or EXMODE (whichever is requested). Change ocfs2_cluster_lock() to just create the lock at the initially requested level. ocfs2_locking_ast() handles this case fine, so the only update required was in setup of locking state. This should reduce the number of network messages required for a new lock by one, providing an incremental performance enhancement. Signed-off-by: Mark Fasheh commit 3cf0c507dd28de0e1a4c24304d806e6b3976f0f5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Oct 27 00:20:36 2007 +0200 [PATCH] Fix priority mistakes in fs/ocfs2/{alloc.c, dlmglue.c} Fixes priority mistakes similar to '!x & y' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mark Fasheh commit 0af4bd38876416d945ad6a1338798696604952a1 Author: Adrian Bunk Date: Wed Oct 24 18:23:27 2007 +0200 [2.6 patch] make ocfs2_find_entry_el() static ocfs2_find_entry_el() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 39655164405940d4818224a085e35420e2f97aed Author: Christoph Hellwig Date: Sun Oct 21 16:42:17 2007 -0700 exportfs: make struct export_operations const Now that nfsd has stopped writing to the find_exported_dentry member we an mark the export_operations const Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 644f9ab3b0aa386820ce709de747d46b4cece16f Author: Christoph Hellwig Date: Sun Oct 21 16:42:15 2007 -0700 ocfs2: new export ops OCFS2 has it's own 64bit-firendly filehandle format so we can't use the generic helpers here. I'll add a struct for the types later. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a4fa0a25da81600ea0bcd75692ae8ca6050d165 Author: Robert P. J. Day Date: Fri Oct 19 23:10:43 2007 +0200 Fix misspellings of "system", "controller", "interrupt" and "necessary". Fix the various misspellings of "system", controller", "interrupt" and "[un]necessary". Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed Author: Pavel Emelyanov Date: Thu Oct 18 23:40:40 2007 -0700 Use helpers to obtain task pid in printks The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by: Pavel Emelyanov Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b47c3611de05c585e2d81204f6c7e3e255a3461 Author: Mathieu Desnoyers Date: Tue Oct 16 23:27:21 2007 -0700 Fix f_version type: should be u64 instead of unsigned long Fix f_version type: should be u64 instead of long There is a type inconsistency between struct inode i_version and struct file f_version. fs.h: struct inode u64 i_version; and struct file unsigned long f_version; Users do: fs/ext3/dir.c: if (filp->f_version != inode->i_version) { So why isn't f_version a u64 ? It becomes a problem if versions gets higher than 2^32 and we are on an architecture where longs are 32 bits. This patch changes the f_version type to u64, and updates the users accordingly. It applies to 2.6.23-rc2-mm2. Signed-off-by: Mathieu Desnoyers Cc: Martin Bligh Cc: "Randy.Dunlap" Cc: Al Viro Cc: Cc: Mark Fasheh Cc: Christoph Hellwig Cc: "J. Bruce Fields" Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957 Author: Christoph Lameter Date: Tue Oct 16 23:25:51 2007 -0700 Slab API: remove useless ctor parameter and reorder parameters Slab constructors currently have a flags parameter that is never used. And the order of the arguments is opposite to other slab functions. The object pointer is placed before the kmem_cache pointer. Convert ctor(void *object, struct kmem_cache *s, unsigned long flags) to ctor(struct kmem_cache *s, void *object) throughout the kernel [akpm@linux-foundation.org: coupla fixes] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0bf68ddec4f4f90e5871404be4f1854c17f3120 Author: Peter Zijlstra Date: Tue Oct 16 23:25:46 2007 -0700 mm: bdi init hooks provide BDI constructor/destructor hooks [akpm@linux-foundation.org: compile fix] Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6af1bcd8720cb3062c8c4d4c8ba02bee10ff03f Author: Nick Piggin Date: Tue Oct 16 01:25:24 2007 -0700 ocfs2: convert to new aops Plug ocfs2 into the ->write_begin and ->write_end aops. A bunch of custom code is now gone - the iovec iteration stuff during write and the ocfs2 splice write actor. Signed-off-by: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efefc6eb38d43b8e5daef482f575d767b002004e Merge: 117494a... cd59abf... Author: Linus Torvalds Date: Fri Oct 12 15:49:37 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits) PM: merge device power-management source files sysfs: add copyrights kobject: update the copyrights kset: add some kerneldoc to help describe what these strange things are Driver core: rename ktype_edd and ktype_efivar Driver core: rename ktype_driver Driver core: rename ktype_device Driver core: rename ktype_class driver core: remove subsystem_init() sysfs: move sysfs file poll implementation to sysfs_open_dirent sysfs: implement sysfs_open_dirent sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir sysfs: make sysfs_root a regular directory dirent sysfs: open code sysfs_attach_dentry() sysfs: make s_elem an anonymous union sysfs: make bin attr open get active reference of parent too sysfs: kill unnecessary NULL pointer check in sysfs_release() sysfs: kill unnecessary sysfs_get() in open paths sysfs: reposition sysfs_dirent->s_mode. sysfs: kill sysfs_update_file() ... commit 34980ca8faebfcce31094eba6ffbb0113950361f Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Drivers: clean up direct setting of the name of a kset A kset should not have its name set directly, so dynamically set the name at runtime. This is needed to remove the static array in the kobject structure which will be changed in a future patch. Signed-off-by: Greg Kroah-Hartman commit e7b34019606ab1dd06196635e931b0c302799228 Author: Mark Fasheh Date: Mon Sep 24 14:25:27 2007 -0700 ocfs2: Optionally return filldir errors Modify ocfs2_dir_foreach_blk() to optionally return any error from the filldir callback. This way ocfs2_dirforeach() can terminate early, as opposed to always passing through the entire directory. This fixes a bug introduced during a previous code refactor where ocfs2_empty_dir() would loop infinitely. Signed-off-by: Mark Fasheh commit 5b6a3a2b4a5f071d170f8122038dd647a84810a8 Author: Mark Fasheh Date: Thu Sep 13 16:33:54 2007 -0700 ocfs2: Write support for directories with inline data Create all new directories with OCFS2_INLINE_DATA_FL and the inline data bytes formatted as an empty directory. Inode size field reflects the actual amount of inline data available, which makes searching for dirent space very similar to the regular directory search. Inline-data directories are automatically pushed out to extents on any insert request which is too large for the available space. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 23193e513d1cd69411469f028d56fd175d4a6b07 Author: Mark Fasheh Date: Wed Sep 12 13:01:18 2007 -0700 ocfs2: Read support for directories with inline data This splits out extent based directory read support and implements inline-data versions of those functions. All knowledge of inline-data versus extent based directories is internalized. For lookups the code uses ocfs2_find_entry_id(), full dir iterations make use of ocfs2_dir_foreach_blk_id(). Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1afc32b952335f665327a1a9001ba1b44bb76fd9 Author: Mark Fasheh Date: Fri Sep 7 14:46:51 2007 -0700 ocfs2: Write support for inline data This fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline inode data. For the most part, the changes to the core write code can be relied on to do the heavy lifting. Any code calling ocfs2_write_begin (including shared writeable mmap) can count on it doing the right thing with respect to growing inline data to an extent tree. Size reducing truncates, including UNRESVP can simply zero that portion of the inode block being removed. Size increasing truncatesm, including RESVP have to be a little bit smarter and grow the inode to an extent tree if necessary. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 6798d35a31c413bbb3f83bbaa844bd2598168ccc Author: Mark Fasheh Date: Fri Sep 7 14:05:51 2007 -0700 ocfs2: Read support for inline data This hooks up ocfs2_readpage() to populate a page with data from an inode block. Direct IO reads from inline data are modified to fall back to buffered I/O. Appropriate checks are also placed in the extent map code to avoid reading an extent list when inline data might be stored. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 15b1e36bdb487d67ef924a37b0967453143be53a Author: Mark Fasheh Date: Fri Sep 7 13:58:15 2007 -0700 ocfs2: Structure updates for inline data Add the disk, network and memory structures needed to support data in inode. Struct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing inline data. A new inode field, i_dyn_features, is added to facilitate tracking of dynamic inode state. Since it will be used often, we want to mirror it on ocfs2_inode_info, and transfer it via the meta data lvb. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be Author: Mark Fasheh Date: Thu Sep 13 16:29:01 2007 -0700 ocfs2: Cleanup dirent size check The check to see if a new dirent would fit in an old one is pretty ugly, and it's done at least twice. Clean things up by putting this in it's own easier-to-read function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 38760e243249f03b4c6d78ca624dd846a2681b67 Author: Mark Fasheh Date: Tue Sep 11 17:21:56 2007 -0700 ocfs2: Rename cleanups ocfs2_rename() does direct manipulation of the dirent it's gotten back from a directory search. Wrap this manipulation inside of a function so that we can transparently change directory update behavior in the future. As an added bonus, this gets rid of an ugly macro. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit be94d11704ef79030fd2e6a0c41b4a7f65f9e860 Author: Mark Fasheh Date: Tue Sep 11 15:22:06 2007 -0700 ocfs2: Provide convenience function for ino lookup A couple paths which needed to just match a parent dir + name pair to an inode number were a bit messy because they had to deal with ocfs2_find_files_on_disk() which returns a larger number of values. Provide a convenience function, ocfs2_lookup_ino_from_name() which internalizes all the extra accounting. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 0bfbbf62a8b5a129ba2c689283bfece80a601aba Author: Mark Fasheh Date: Wed Sep 12 11:19:00 2007 -0700 ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach() We can preserve the behavior of ocfs2_empty_dir(), while getting rid of the open coded directory walk by just providing a smart filldir callback. This also automatically gets to use the dir readahead code, though in this case any advantage is minor at best. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63 Author: Mark Fasheh Date: Mon Sep 10 17:50:51 2007 -0700 ocfs2: Remove open coded readdir() ocfs2_queue_orphans() has an open coded readdir loop which can easily just use a directory accessor function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 7e8536797d4508ddc790cc3af6a281db1582d485 Author: Mark Fasheh Date: Mon Sep 10 17:30:26 2007 -0700 ocfs2: Pass raw u64 to filldir filldir_t can take this, so don't turn de->inode into a 32 bit value. Right now this doesn't make a difference since no ocfs2 inodes overflow that, but it could be a nasty surprise later on if some kernel code is calling ocfs2_dir_foreach_blk() and expecting real inode numbers back... Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit b8bc5f4fde376c9eee524a9a2b7e85560e604e85 Author: Mark Fasheh Date: Mon Sep 10 17:17:52 2007 -0700 ocfs2: Abstract out core dir listing functionality Put this in it's own function so that the functionality can be overridden. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 316f4b9f98a353ac1be93199694fd97272378815 Author: Mark Fasheh Date: Fri Sep 7 18:21:26 2007 -0700 ocfs2: Move directory manipulation code into dir.c The code for adding, removing, deleting directory entries was splattered all over namei.c. I'd rather have this all centralized, so that it's easier to make changes for inline dir data, and eventually indexed directories. None of the code in any of the functions was changed. I only removed the static keyword from some prototypes so that they could be exported. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1d410a6e337a0d2d5543ad1d9bccb670a7a05312 Author: Mark Fasheh Date: Fri Sep 7 14:20:45 2007 -0700 ocfs2: Small refactor of truncate zeroing code We'll want to reuse most of this when pushing inline data back out to an extent. Keeping this part as a seperate patch helps to keep the upcoming changes for write support uncluttered. The core portion of ocfs2_zero_cluster_pages() responsible for making sure a page is mapped and properly dirtied is abstracted out into it's own function, ocfs2_map_and_dirty_page(). Actual functionality doesn't change, though zeroing becomes optional. We also turn part of ocfs2_free_write_ctxt() into a common function for unlocking and freeing a page array. This operation is very common (and uniform) for Ocfs2 cluster sizes greater than page size, so it makes sense to keep the code in one place. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 65ed39d6ca78f07d2958814e08440e4264b6b488 Author: Mark Fasheh Date: Tue Aug 28 17:13:23 2007 -0700 ocfs2: move nonsparse hole-filling into ocfs2_write_begin() By doing this, we can remove any higher level logic which has to have knowledge of btree functionality - any callers of ocfs2_write_begin() can now expect it to do anything necessary to prepare the inode for new data. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 92e91ce2a30b2af53ebf077512801dc01e75cca5 Author: Mark Fasheh Date: Thu Sep 20 11:19:20 2007 -0700 ocfs2: Sync ocfs2_fs.h with ocfs2-tools ocfs2-tools added some on-disk fields and flags which are used by tunefs.ocfs2. Signed-off-by: Mark Fasheh commit bddb8eb37f1460fc19e1af16010c9ad4ca3717a6 Author: Denis Cheng Date: Thu Sep 27 02:10:04 2007 +0800 [PATCH] fs/ocfs2/: removed unneeded initial value and function's return value Signed-off-by: Denis Cheng Signed-off-by: Mark Fasheh commit d550071c03f129a60dfad60d23dab73f894129a9 Author: Sunil Mushran Date: Thu Sep 6 13:34:16 2007 -0700 ocfs2: Implement show_options() Implement sops->show_options() so as to allow /proc/mounts to show the mount options. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 19b613d41051296be628581e7e21b847e9eaba80 Author: Mark Fasheh Date: Thu Oct 4 14:47:09 2007 -0700 ocfs2: Clear slot map when umounting a local volume This is technically harmless (recovery will clean it out later), but leaves a bogus entry in the slot_map which really shouldn't be there. Signed-off-by: Mark Fasheh commit 015452b15ff6c2d9fa1f82f28d61e7a66e2df86a Author: Mark Fasheh Date: Wed Sep 12 10:21:22 2007 -0700 ocfs2: Remove unused structure field c_used_tail_recs in struct ocfs2_merge_ctxt is only ever set, so we can remove it. Signed-off-by: Mark Fasheh commit 518d7269f3c9129ae51d5f804edff998ab945a40 Author: Tao Mao Date: Tue Aug 28 17:25:35 2007 -0700 ocfs2: remove unused variable delete_tail_recs in ocfs2_try_to_merge_extent() was only ever set, remove it. Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit c77534f6fb6d58e27d923b6825ea3b0ef485ab26 Author: Tao Mao Date: Tue Aug 28 17:22:33 2007 -0700 ocfs2: remove mostly unused field from insert structure ocfs2_insert_type->ins_free_records was only used in one place, and was set incorrectly in most places. We can free up some memory and lose some code by removing this. * Small warning fixup contributed by Andrew Mortom Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit 782e3b3b3804c38d5130c7f21d7ec7bf6709023f Author: Al Viro Date: Fri Oct 12 07:17:47 2007 +0100 Fix up more bio fallout Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6712ecf8f648118c3363c142196418f89a510b90 Author: NeilBrown Date: Thu Sep 27 12:47:43 2007 +0200 Drop 'size' argument from bio_endio and bi_end_io As bi_end_io is only called once when the reqeust is complete, the 'size' argument is now redundant. Remove it. Now there is no need for bio_endio to subtract the size completed from bi_size. So don't do that either. While we are at it, change bi_end_io to return void. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe