Lines Matching refs:fh
229 struct ovl_fh *fh; in ovl_encode_real_fh() local
248 fh = ERR_PTR(-EIO); in ovl_encode_real_fh()
256 fh = kmalloc(fh_len, GFP_KERNEL); in ovl_encode_real_fh()
257 if (!fh) { in ovl_encode_real_fh()
258 fh = ERR_PTR(-ENOMEM); in ovl_encode_real_fh()
262 fh->version = OVL_FH_VERSION; in ovl_encode_real_fh()
263 fh->magic = OVL_FH_MAGIC; in ovl_encode_real_fh()
264 fh->type = fh_type; in ovl_encode_real_fh()
265 fh->flags = OVL_FH_FLAG_CPU_ENDIAN; in ovl_encode_real_fh()
273 fh->flags |= OVL_FH_FLAG_PATH_UPPER; in ovl_encode_real_fh()
274 fh->len = fh_len; in ovl_encode_real_fh()
275 fh->uuid = *uuid; in ovl_encode_real_fh()
276 memcpy(fh->fid, buf, buflen); in ovl_encode_real_fh()
280 return fh; in ovl_encode_real_fh()
286 const struct ovl_fh *fh = NULL; in ovl_set_origin() local
295 fh = ovl_encode_real_fh(lower, false); in ovl_set_origin()
296 if (IS_ERR(fh)) in ovl_set_origin()
297 return PTR_ERR(fh); in ovl_set_origin()
303 err = ovl_check_setxattr(dentry, upper, OVL_XATTR_ORIGIN, fh, in ovl_set_origin()
304 fh ? fh->len : 0, 0); in ovl_set_origin()
305 kfree(fh); in ovl_set_origin()
313 const struct ovl_fh *fh; in ovl_set_upper_fh() local
316 fh = ovl_encode_real_fh(upper, true); in ovl_set_upper_fh()
317 if (IS_ERR(fh)) in ovl_set_upper_fh()
318 return PTR_ERR(fh); in ovl_set_upper_fh()
320 err = ovl_do_setxattr(index, OVL_XATTR_UPPER, fh, fh->len, 0); in ovl_set_upper_fh()
322 kfree(fh); in ovl_set_upper_fh()