summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
617134b)
Former version would get error if the length of content in
nrs_tbf_rul is larger than one page. This patch fix this
problem, now nrs policy tbf could make rules as many as
possible.
Ptlrpc_nrs_policy_control return -ENOSPC means the buf in
parameter struct seq_file is overflow, we return 0 in this
situation to make upper layer function seq_read to alloc a more
larger memory area and do this process again.
Signed-off-by: Wu Libin <lwu@ddn.com>
Change-Id: I436a6b5b58e33e46fb896b6f4d56f64a8ff5a732
Reviewed-on: http://review.whamcloud.com/11154
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Xi <pkuelelixi@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
false, m);
if (rc == 0) {
/**
false, m);
if (rc == 0) {
/**
+ * -ENOSPC means buf in the parameter m is overflow, return 0
+ * here to let upper layer function seq_read alloc a larger
+ * memory area and do this process again.
+ */
+ } else if (rc == -ENOSPC) {
+ return 0;
+
+ /**
* Ignore -ENODEV as the regular NRS head's policy may be in the
* ptlrpc_nrs_pol_state::NRS_POL_STATE_STOPPED state.
*/
* Ignore -ENODEV as the regular NRS head's policy may be in the
* ptlrpc_nrs_pol_state::NRS_POL_STATE_STOPPED state.
*/
false, m);
if (rc == 0) {
/**
false, m);
if (rc == 0) {
/**
- * Ignore -ENODEV as the high priority NRS head's policy may be
- * in the ptlrpc_nrs_pol_state::NRS_POL_STATE_STOPPED state.
+ * -ENOSPC means buf in the parameter m is overflow, return 0
+ * here to let upper layer function seq_read alloc a larger
+ * memory area and do this process again.
- } else if (rc != -ENODEV) {
- return rc;
+ } else if (rc == -ENOSPC) {
+ return 0;