Lines Matching refs:rr
43 static int check_sp(struct rock_ridge *rr, struct inode *inode)
45 if (rr->u.SP.magic[0] != 0xbe)
47 if (rr->u.SP.magic[1] != 0xef)
49 ISOFS_SB(inode->i_sb)->s_rock_offset = rr->u.SP.skip;
202 struct rock_ridge *rr;
219 rr = (struct rock_ridge *)rs.chr;
221 * Ignore rock ridge info if rr->len is out of range, but
225 if (rr->len < 3)
230 rs.chr += rr->len;
231 rs.len -= rr->len;
233 * As above, just ignore the rock ridge info if rr->len
241 if ((rr->u.RR.flags[0] & RR_NM) == 0)
245 if (check_sp(rr, inode))
249 rs.cont_extent = isonum_733(rr->u.CE.extent);
250 rs.cont_offset = isonum_733(rr->u.CE.offset);
251 rs.cont_size = isonum_733(rr->u.CE.size);
256 if (rr->len < 5)
265 if (rr->u.NM.flags & 6)
268 if (rr->u.NM.flags & ~1) {
270 rr->u.NM.flags);
273 len = rr->len - 5;
278 p = memchr(rr->u.NM.name, '\0', len);
280 len = p - rr->u.NM.name;
281 memcpy(retname + retnamlen, rr->u.NM.name, len);
316 struct rock_ridge *rr;
335 rr = (struct rock_ridge *)rs.chr;
337 * Ignore rock ridge info if rr->len is out of range, but
341 if (rr->len < 3)
346 rs.chr += rr->len;
347 rs.len -= rr->len;
349 * As above, just ignore the rock ridge info if rr->len
358 if ((rr->u.RR.flags[0] &
364 if (check_sp(rr, inode))
368 rs.cont_extent = isonum_733(rr->u.CE.extent);
369 rs.cont_offset = isonum_733(rr->u.CE.offset);
370 rs.cont_size = isonum_733(rr->u.CE.size);
374 if (rr->u.ER.len_id + offsetof(struct rock_ridge, u.ER.data) > rr->len)
380 for (p = 0; p < rr->u.ER.len_id; p++)
381 printk(KERN_CONT "%c", rr->u.ER.data[p]);
386 inode->i_mode = isonum_733(rr->u.PX.mode);
387 set_nlink(inode, isonum_733(rr->u.PX.n_links));
388 i_uid_write(inode, isonum_733(rr->u.PX.uid));
389 i_gid_write(inode, isonum_733(rr->u.PX.gid));
394 high = isonum_733(rr->u.PN.dev_high);
395 low = isonum_733(rr->u.PN.dev_low);
423 if (rr->u.TF.flags & TF_CREATE) {
425 iso_date(rr->u.TF.times[cnt++].time, 0),
428 if (rr->u.TF.flags & TF_MODIFY) {
430 iso_date(rr->u.TF.times[cnt++].time,
434 if (rr->u.TF.flags & TF_ACCESS) {
436 iso_date(rr->u.TF.times[cnt++].time,
440 if (rr->u.TF.flags & TF_ATTRIBUTES) {
442 iso_date(rr->u.TF.times[cnt++].time, 0),
451 slen = rr->len - 5;
452 slp = &rr->u.SL.link;
481 if (((rr->u.SL.
513 reloc_block = isonum_733(rr->u.CL.location);
545 algo = isonum_721(rr->u.ZF.algorithm);
548 isonum_711(&rr->u.ZF.parms[1]);
567 isonum_711(&rr->u.ZF.parms[0]);
569 isonum_711(&rr->u.ZF.parms[1]);
571 isonum_733(rr->u.ZF.
578 rr->u.ZF.algorithm[0],
579 rr->u.ZF.algorithm[1]);
601 static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
607 slen = rr->len - 5;
608 slp = &rr->u.SL.link;
648 if ((!rootflag) && (rr->u.SL.flags & 1) &&
705 struct rock_ridge *rr;
738 rr = (struct rock_ridge *)rs.chr;
739 if (rr->len < 3)
744 rs.chr += rr->len;
745 rs.len -= rr->len;
751 if ((rr->u.RR.flags[0] & RR_SL) == 0)
755 if (check_sp(rr, inode))
759 rpnt = get_symlink_chunk(rpnt, rr,
766 rs.cont_extent = isonum_733(rr->u.CE.extent);
767 rs.cont_offset = isonum_733(rr->u.CE.offset);
768 rs.cont_size = isonum_733(rr->u.CE.size);