Message ID | 201308211502490443362@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@gmail.com> > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@gmail.com> >> --- >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; }
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 ? 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@gmail.com> --- fs/ceph/file.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 1.8.1.2