Whamcloud - gitweb
LU-4603 lmv: a few fixes about readdir of striped dir. 91/9191/29
authorwang di <di.wang@intel.com>
Mon, 31 Mar 2014 14:45:46 +0000 (07:45 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 21 May 2014 16:59:44 +0000 (16:59 +0000)
commit0d8c5ccc4ecfe7c0d10a0a4f92fd291320a97190
treeed79cb443c7304eb1141f382dd851ebb69e5718c
parentb48b921a5f36771bacdb0094d7ec4fe94cdf0c48
LU-4603 lmv: a few fixes about readdir of striped dir.

The offset of dir should be set to EOF as soon as
ll_dir_read() has nothing to read. Otherwise, "ls"
on NFS client will return -ELOOP.

And ll_dir_entry_start() should be able to start reading
from the beginning of the offset. Otherwise, some files
might be missing when "ls" on NFS client.

Skip . and .. for slave stripe.

If user buffer is full in ll_dir_read, remember
the last unsuccessful entry in op_hash_offset, so in next
read, it will locate entry by >= hash_offset,  instead
of >.

It will use op_same_hash_offset to remember entry offset among
the same hash entries, so mdc_read_entry will tell which entry
the caller needs.

Signed-off-by: Di Wang <di.wang@intel.com>
Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I93f94836ce59f523794581301f3bc3c491c956a5
Reviewed-on: http://review.whamcloud.com/9191
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Li Xi <pkuelelixi@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lclient.h
lustre/include/obd.h
lustre/llite/dir.c
lustre/llite/llite_internal.h
lustre/llite/llite_nfs.c
lustre/lmv/lmv_obd.c
lustre/mdc/mdc_request.c
lustre/tests/sanity.sh