On Tue, 1 Aug 2006 11:30:43 +0400 Evgeniy Dushistov <dushistov@xxxxxxx> wrote: > On Mon, Jul 31, 2006 at 11:02:51PM -0700, Andrew Morton wrote: > > On Mon, 31 Jul 2006 16:57:02 +0400 > > Evgeniy Dushistov <dushistov@xxxxxxx> wrote: > > > > Looks good to me. > > > > Is there any need to be checking ->index? Normally we simply use the > > sequence: > > > > lock_page(page); > > if (page->mapping == NULL) > > /* truncate got there first */ > > > > to handle this case. > > Yes, I made it in analogy with `find_lock_page' and missed fact > that if we increment usage counter of page, we have no need to check > page->index. OK. find_lock_page() has the splice stuff in it. > Need another patch? Is OK, I updated it. I'm not sure that the `goto repeat' is needed if truncate got there first, really - if truncate took the page down then it's now outside i_size and shouldn't be coming back. If the page _can_ come back then this code is all rather problematic. Because this means that the page can come back (via an extending write()) one nanosecond after ufs_get_locked_page() returns NULL. Won't the callers of ufs_get_locked_page() get confused by that? - 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