On 08/22/2013 01:12 PM, Sage Weil wrote: > On Wed, 21 Aug 2013, majianpeng wrote: >> Hi Sage: >> This patch based on my previous patch"ceph: fix bugs about handling short-read for sync read mode". >> I can't see this patch in ceph-client#testing.Maybe you forget it ? > > Whoops, I did! I've pulled both patches into the testing branch now. > > Yan, did you want to look at this? the patch looks good. Yan, Zheng > sage > >> >> Thanks! >> Jianpeng Ma >> >> For sync_read/write, it may do multi stripe operations.If one of those >> met erro, we return the former successed size rather than a error value. >> There is a exception for write-operation met -EOLDSNAPC.If this occur,we >> retry the whole write again. >> >> Signed-off-by: Jianpeng Ma <majianpeng@xxxxxxxxx> >> --- >> fs/ceph/file.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/fs/ceph/file.c b/fs/ceph/file.c >> index 69c4669..dd525c5 100644 >> --- a/fs/ceph/file.c >> +++ b/fs/ceph/file.c >> @@ -373,7 +373,7 @@ more: >> goto more; >> } >> >> - if (ret >= 0) { >> + if (read > 0) { >> ret = read; >> /* did we bounce off eof? */ >> if (pos + left > inode->i_size) >> @@ -611,7 +611,8 @@ out: >> if (check_caps) >> ceph_check_caps(ceph_inode(inode), CHECK_CAPS_AUTHONLY, >> NULL); >> - } >> + } else if (ret != -EOLDSNAPC && written > 0) >> + ret = written; >> return ret; >> } >> >> -- >> 1.8.1.2 >> N?????r??y????b?X????v?^?)??{.n?+???z?]z???{ay??????,j??f???h???z??w??????j:+v???w?j?m????????zZ+???????j"??!?i -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html