Lines Matching refs:wr
23 struct orangefs_write_range *wr = NULL; in orangefs_writepage_locked() local
34 wr = (struct orangefs_write_range *)page_private(page); in orangefs_writepage_locked()
35 WARN_ON(wr->pos >= len); in orangefs_writepage_locked()
36 off = wr->pos; in orangefs_writepage_locked()
37 if (off + wr->len > len) in orangefs_writepage_locked()
40 wlen = wr->len; in orangefs_writepage_locked()
57 len, wr, NULL, NULL); in orangefs_writepage_locked()
92 struct orangefs_write_range *wrp, wr; in orangefs_writepages_work() local
116 wr.uid = ow->uid; in orangefs_writepages_work()
117 wr.gid = ow->gid; in orangefs_writepages_work()
119 0, &wr, NULL, NULL); in orangefs_writepages_work()
155 struct orangefs_write_range *wr = folio->private; in orangefs_writepages_callback() local
158 if (!wr) { in orangefs_writepages_callback()
168 ow->off = wr->pos; in orangefs_writepages_callback()
169 ow->len = wr->len; in orangefs_writepages_callback()
170 ow->uid = wr->uid; in orangefs_writepages_callback()
171 ow->gid = wr->gid; in orangefs_writepages_callback()
176 if (!uid_eq(ow->uid, wr->uid) || !gid_eq(ow->gid, wr->gid)) { in orangefs_writepages_callback()
182 if (ow->off + ow->len == wr->pos) { in orangefs_writepages_callback()
183 ow->len += wr->len; in orangefs_writepages_callback()
321 struct orangefs_write_range *wr; in orangefs_write_begin() local
347 struct orangefs_write_range *wr; in orangefs_write_begin() local
348 wr = folio_get_private(folio); in orangefs_write_begin()
349 if (wr->pos + wr->len == pos && in orangefs_write_begin()
350 uid_eq(wr->uid, current_fsuid()) && in orangefs_write_begin()
351 gid_eq(wr->gid, current_fsgid())) { in orangefs_write_begin()
352 wr->len += len; in orangefs_write_begin()
361 wr = kmalloc(sizeof *wr, GFP_KERNEL); in orangefs_write_begin()
362 if (!wr) in orangefs_write_begin()
365 wr->pos = pos; in orangefs_write_begin()
366 wr->len = len; in orangefs_write_begin()
367 wr->uid = current_fsuid(); in orangefs_write_begin()
368 wr->gid = current_fsgid(); in orangefs_write_begin()
369 folio_attach_private(folio, wr); in orangefs_write_begin()
412 struct orangefs_write_range *wr = folio_get_private(folio); in orangefs_invalidate_folio() local
418 } else if (folio_pos(folio) + offset <= wr->pos && in orangefs_invalidate_folio()
419 wr->pos + wr->len <= folio_pos(folio) + offset + length) { in orangefs_invalidate_folio()
425 } else if (wr->pos < folio_pos(folio) + offset && in orangefs_invalidate_folio()
426 wr->pos + wr->len <= folio_pos(folio) + offset + length && in orangefs_invalidate_folio()
427 folio_pos(folio) + offset < wr->pos + wr->len) { in orangefs_invalidate_folio()
429 x = wr->pos + wr->len - (folio_pos(folio) + offset); in orangefs_invalidate_folio()
430 WARN_ON(x > wr->len); in orangefs_invalidate_folio()
431 wr->len -= x; in orangefs_invalidate_folio()
432 wr->uid = current_fsuid(); in orangefs_invalidate_folio()
433 wr->gid = current_fsgid(); in orangefs_invalidate_folio()
435 } else if (folio_pos(folio) + offset <= wr->pos && in orangefs_invalidate_folio()
436 folio_pos(folio) + offset + length < wr->pos + wr->len && in orangefs_invalidate_folio()
437 wr->pos < folio_pos(folio) + offset + length) { in orangefs_invalidate_folio()
439 x = folio_pos(folio) + offset + length - wr->pos; in orangefs_invalidate_folio()
440 WARN_ON(x > wr->len); in orangefs_invalidate_folio()
441 wr->pos += x; in orangefs_invalidate_folio()
442 wr->len -= x; in orangefs_invalidate_folio()
443 wr->uid = current_fsuid(); in orangefs_invalidate_folio()
444 wr->gid = current_fsgid(); in orangefs_invalidate_folio()
446 } else if (wr->pos < folio_pos(folio) + offset && in orangefs_invalidate_folio()
447 folio_pos(folio) + offset + length < wr->pos + wr->len) { in orangefs_invalidate_folio()
459 if (!((folio_pos(folio) + offset + length <= wr->pos) ^ in orangefs_invalidate_folio()
460 (wr->pos + wr->len <= folio_pos(folio) + offset))) { in orangefs_invalidate_folio()
465 wr->pos, wr->len); in orangefs_invalidate_folio()
640 struct orangefs_write_range *wr; in orangefs_page_mkwrite() local
662 wr = folio_get_private(folio); in orangefs_page_mkwrite()
663 if (uid_eq(wr->uid, current_fsuid()) && in orangefs_page_mkwrite()
664 gid_eq(wr->gid, current_fsgid())) { in orangefs_page_mkwrite()
665 wr->pos = page_offset(vmf->page); in orangefs_page_mkwrite()
666 wr->len = PAGE_SIZE; in orangefs_page_mkwrite()
675 wr = kmalloc(sizeof *wr, GFP_KERNEL); in orangefs_page_mkwrite()
676 if (!wr) { in orangefs_page_mkwrite()
680 wr->pos = page_offset(vmf->page); in orangefs_page_mkwrite()
681 wr->len = PAGE_SIZE; in orangefs_page_mkwrite()
682 wr->uid = current_fsuid(); in orangefs_page_mkwrite()
683 wr->gid = current_fsgid(); in orangefs_page_mkwrite()
684 folio_attach_private(folio, wr); in orangefs_page_mkwrite()