[RFC 00/12] PNFS Read and Write Cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There is a lot of duplicate code in pnfs.c that can be cleaned up to
share more code.  This patch set goes through each function one at a
time and merges read and write code together wherever possible.  In the
end I'm passing around a few function pointers.  Would it be better to
use a function pointer struct instead?

These patches still need a lot of testing and are not ready for merge
yet (hence the RFC).  I just wanted to send out a preview of the changes
I've made so far.

Questions, comments and thoughts are appreciated!

Anna


Anna Schumaker (12):
  nfs: Create a common pnfs_pageio_reset_mds() function
  nfs: Create a common pnfs_generic_pg_init() function
  nfs: Create a common pnfs_ld_handle_rw_error() function
  nfs: Create a common pnfs_ld_rw_done()
  nfs: Create a common pnfs_through_mds() function
  nfs: merge pnfs_try_to_write_data() and pnfs_do_write()
  nfs: merge pnfs_try_to_read_data() and pnfs_do_read()
  nfs: create a common pnfs_do_rw() function
  nfs: create a common pnfs_pgiohdr_free function
  nfs: Split up generic_pg_pgios
  nfs: pnfs can use nfs_generic_pgios_common() too!
  nfs: Create a common pnfs_generic_rwpages() function

 fs/nfs/blocklayout/blocklayout.c |   4 +-
 fs/nfs/internal.h                |   6 +-
 fs/nfs/nfs4filelayout.c          |   4 +-
 fs/nfs/pagelist.c                |  25 +++-
 fs/nfs/pnfs.c                    | 297 ++++++++++++++-------------------------
 fs/nfs/pnfs.h                    |   1 +
 fs/nfs/read.c                    |   7 -
 fs/nfs/write.c                   |   8 --
 8 files changed, 138 insertions(+), 214 deletions(-)

-- 
1.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux