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? 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