The total size of an HSM archive request may exceed the
desired (LNET) message. When this happens, it can hang
the client and not allow the archive request to succeed.
Before we know the total size of the hsm_action_items, we
need to limit the size of the reguest. Doing this limits
the number of items that can be sent in one archive request.
We’ve reduced the size allowed for the user archive request
to MDS_MAXREQSIZE/3.
sanity-hsm test 90 forms a list of files to archive. The
number of files in the list needed to be decreased to
match the limit described above.
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: I3c19851b7fedf62854a5a1b4a8f27b9c49d8b313
Reviewed-on: http://review.whamcloud.com/9393
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
totalsize = hur_len(hur);
OBD_FREE_PTR(hur);
- /* Make sure the size is reasonable */
- if (totalsize >= MDS_MAXREQSIZE)
+ /* Final size will be more than double totalsize */
+ if (totalsize >= MDS_MAXREQSIZE / 3)
RETURN(-E2BIG);
OBD_ALLOC_LARGE(hur, totalsize);
run_test 60 "Changing progress update interval from default"
test_90() {
- file_count=57
- mkdir -p $DIR/$tdir
+ file_count=51 # Max number of files constrained by LNET message size
+ mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
local f=$DIR/$tdir/$tfile
local FILELIST=/tmp/filelist.txt
local i=""