HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //lib/modules/4.9.0-19-amd64/source/include/linux/ceph/string_table.h
#ifndef _FS_CEPH_STRING_TABLE_H
#define _FS_CEPH_STRING_TABLE_H

#include <linux/types.h>
#include <linux/kref.h>
#include <linux/rbtree.h>
#include <linux/rcupdate.h>

struct ceph_string {
	struct kref kref;
	union {
		struct rb_node node;
		struct rcu_head rcu;
	};
	size_t len;
	char str[];
};

extern void ceph_release_string(struct kref *ref);
extern struct ceph_string *ceph_find_or_create_string(const char *str,
						      size_t len);
extern bool ceph_strings_empty(void);

static inline struct ceph_string *ceph_get_string(struct ceph_string *str)
{
	kref_get(&str->kref);
	return str;
}

static inline void ceph_put_string(struct ceph_string *str)
{
	if (!str)
		return;
	kref_put(&str->kref, ceph_release_string);
}

static inline int ceph_compare_string(struct ceph_string *cs,
				      const char* str, size_t len)
{
	size_t cs_len = cs ? cs->len : 0;
	if (cs_len != len)
		return cs_len - len;
	if (len == 0)
		return 0;
	return strncmp(cs->str, str, len);
}

#define ceph_try_get_string(x)					\
({								\
	struct ceph_string *___str;				\
	rcu_read_lock();					\
	for (;;) {						\
		___str = rcu_dereference(x);			\
		if (!___str ||					\
		    kref_get_unless_zero(&___str->kref))	\
			break;					\
	}							\
	rcu_read_unlock();					\
	(___str);						\
})

#endif