- 12 Oct, 2007 1 commit
-
-
Mark Fasheh authored
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 <mark.fasheh@oracle.com> Reviewed-by:
Joel Becker <joel.becker@oracle.com>
-
- 10 Jul, 2007 2 commits
-
-
Mark Fasheh authored
Implement cluster consistent shared writeable mappings using the ->page_mkwrite() callback. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Mark Fasheh authored
Use some ideas from the new-aops patch series and turn ocfs2_buffered_write_cluster() into a 2 stage operation with the caller copying data in between. The code now understands multiple cluster writes as a result of having to deal with a full page write for greater than 4k pages. This sets us up to easily call into the write path during ->page_mkwrite(). Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 26 Apr, 2007 4 commits
-
-
Mark Fasheh authored
Cluster locking might have been redone because a direct write won't complete, so this needs to be reflected in the iocb. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Mark Fasheh authored
We need to fill holes during a splice write. Provide our own splice write actor which can call ocfs2_file_buffered_write() with a splice-specific callback. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Mark Fasheh authored
Since we don't zero on extend anymore, truncate needs to be fixed up to zero the part of a file between i_size and and end of it's cluster. Otherwise a subsequent extend could expose bad data. This introduced a new helper, which can be used in ocfs2_write(). Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Mark Fasheh authored
Unfortunately, ocfs2 can no longer make use of generic_file_aio_write_nlock() because allocating writes will require zeroing of pages adjacent to the I/O for cluster sizes greater than page size. Implement a custom file write here, which can order page locks for zeroing. This also has the advantage that cluster locks can easily be ordered outside of the page locks. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 01 Dec, 2006 1 commit
-
-
Mark Fasheh authored
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 <mark.fasheh@oracle.com>
-
- 17 May, 2006 1 commit
-
-
Mark Fasheh authored
We need to take a data lock around extends to protect the pages that ocfs2_zero_extend is going to be pulling into the page cache. Otherwise an extend on one node might populate the page cache with data pages that have no lock coverage. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 03 Jan, 2006 2 commits
-
-
Mark Fasheh authored
The OCFS2 file system module. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com> Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com>
-
Kurt Hackel authored
A simple node information service, filled and updated from userspace. The rest of the stack queries this service for simple node information. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com> Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com>
-