Lines Matching refs:wr

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