da485b59a5
If a mirrored DS is being recovered that has a lot of large sparse files, pnfsdscopymr(8) would use a lot of space on the recovered mirror since it would write the "holes" in the file being mirrored. This patch adds code to check for a "hole" and skip doing the write. The check is done on a "per PNFSDS_COPYSIZ size block", which is currently 64K. I think that most file server file systems will be using a blocksize at least this large. If the file server is using a smaller blocksize and smaller holes need to be preserved, PNFSDS_COPYSIZ could be decreased. The block of 0s is malloc()d, since pnfsdcopymr(8) should be an infrequent occurrence. |
||
---|---|---|
.. | ||
nfs_fha_new.c | ||
nfs_fha_new.h | ||
nfs_nfsdcache.c | ||
nfs_nfsdkrpc.c | ||
nfs_nfsdport.c | ||
nfs_nfsdserv.c | ||
nfs_nfsdsocket.c | ||
nfs_nfsdstate.c | ||
nfs_nfsdsubs.c |