• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/ceph/

Lines Matching refs:xattr

5 #include <linux/xattr.h>
144 struct ceph_inode_xattr *xattr = NULL;
151 xattr = rb_entry(parent, struct ceph_inode_xattr, node);
152 c = strncmp(name, xattr->name, min(name_len, xattr->name_len));
158 if (name_len == xattr->name_len)
160 else if (name_len < xattr->name_len)
165 xattr = NULL;
168 if (!xattr) {
170 xattr = *newxattr;
171 xattr->name = name;
172 xattr->name_len = name_len;
173 xattr->should_free_name = should_free_name;
180 if (xattr->should_free_val)
181 kfree((void *)xattr->val);
185 name = xattr->name;
187 ci->i_xattrs.names_size -= xattr->name_len;
188 ci->i_xattrs.vals_size -= xattr->val_len;
193 xattr->val = val;
195 xattr->val = "";
197 xattr->val_len = val_len;
198 xattr->dirty = dirty;
199 xattr->should_free_val = (val && should_free_val);
202 rb_link_node(&xattr->node, parent, p);
203 rb_insert_color(&xattr->node, &ci->i_xattrs.index);
207 dout("__set_xattr_val added %llx.%llx xattr %p %s=%.*s\n",
208 ceph_vinop(&ci->vfs_inode), xattr, name, val_len, val);
218 struct ceph_inode_xattr *xattr = NULL;
224 xattr = rb_entry(parent, struct ceph_inode_xattr, node);
225 c = strncmp(name, xattr->name, xattr->name_len);
232 xattr->val_len, xattr->val);
233 return xattr;
242 static void __free_xattr(struct ceph_inode_xattr *xattr)
244 BUG_ON(!xattr);
246 if (xattr->should_free_name)
247 kfree((void *)xattr->name);
248 if (xattr->should_free_val)
249 kfree((void *)xattr->val);
251 kfree(xattr);
255 struct ceph_inode_xattr *xattr)
257 if (!xattr)
260 rb_erase(&xattr->node, &ci->i_xattrs.index);
262 if (xattr->should_free_name)
263 kfree((void *)xattr->name);
264 if (xattr->should_free_val)
265 kfree((void *)xattr->val);
267 ci->i_xattrs.names_size -= xattr->name_len;
268 ci->i_xattrs.vals_size -= xattr->val_len;
270 kfree(xattr);
279 struct ceph_inode_xattr *xattr;
283 xattr = __get_xattr(ci, name);
284 err = __remove_xattr(ci, xattr);
292 struct ceph_inode_xattr *xattr = NULL;
298 xattr = rb_entry(p, struct ceph_inode_xattr, node);
299 memcpy(dest, xattr->name, xattr->name_len);
300 dest[xattr->name_len] = '\0';
302 dout("dest=%s %p (%s) (%d/%d)\n", dest, xattr, xattr->name,
303 xattr->name_len, ci->i_xattrs.names_size);
305 dest += xattr->name_len + 1;
315 struct ceph_inode_xattr *xattr = NULL;
322 xattr = rb_entry(p, struct ceph_inode_xattr, node);
326 xattr->name_len, xattr->name);
329 __free_xattr(xattr);
363 /* updated internal xattr rb tree */
430 * 4 bytes for the length, and additional 4 bytes per each xattr name,
453 struct ceph_inode_xattr *xattr = NULL;
467 xattr = rb_entry(p, struct ceph_inode_xattr, node);
469 ceph_encode_32(&dest, xattr->name_len);
470 memcpy(dest, xattr->name, xattr->name_len);
471 dest += xattr->name_len;
472 ceph_encode_32(&dest, xattr->val_len);
473 memcpy(dest, xattr->val, xattr->val_len);
474 dest += xattr->val_len;
499 struct ceph_inode_xattr *xattr;
505 /* let's see if a virtual xattr was requested */
537 xattr = __get_xattr(ci, name);
538 if (!xattr) {
545 if (size && size < xattr->val_len)
548 err = xattr->val_len;
552 memcpy(value, xattr->val, xattr->val_len);
608 /* virtual xattr names, too */
672 dout("xattr.ver (before): %lld\n", ci->i_xattrs.version);
675 dout("xattr.ver (after): %lld\n", ci->i_xattrs.version);
697 struct ceph_inode_xattr *xattr = NULL;
714 /* preallocate memory for xattr name, value, index node */
729 xattr = kmalloc(sizeof(struct ceph_inode_xattr), GFP_NOFS);
730 if (!xattr)
760 val_len, 1, 1, 1, &xattr);
774 kfree(xattr);