On Fri, 28 May 2010, Changli Gao wrote: > On Fri, May 28, 2010 at 7:11 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > On Fri, 28 May 2010, Changli Gao wrote: > >> Before checking the sd->pos, sd->pos > >> already is updated with the value returned by splice_read(), so if in > >> file is seekabble, sd->pos is non-zero when I checking it. > > > > I see the logic now. But it's really confusing, at least some > > comments would be needed. > > > > But I think it would be better not to try reusing sd->pos for reading, > > but supplying an "loff_t *read_ppos" to splice_direct_to_actor and > > leaving sd->pos alone (for the write side to use and update as > > necessary). > > > > if (ret < read_len) { > > I think is much like a hack too. :) > > - sd->pos = prev_pos + ret; > + if (sd->pos) > + sd->pos = prev_pos + ret; > goto out_release; > } > > Anyway, it can fix the issue I mentioned above. Any future cleanup > should not be mixed in, IMO. Okay, but please add a comment and explaing in the patch header, because others are going to look a that code and go "WTF???" Thanks, Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html