CGroup API files: add res_counter_read_u64()
Adds a function for returning the value of a resource counter member, in a form suitable for use in a cgroup read_u64 control file method. Signed-off-by: Paul Menage <menage@google.com> Cc: "Li Zefan" <lizf@cn.fujitsu.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Paul Jackson <pj@sgi.com> Cc: Pavel Emelyanov <xemul@openvz.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: "YAMAMOTO Takashi" <yamamoto@valinux.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f4c753b7ea
commit
2c7eabf376
|
@ -39,8 +39,9 @@ struct res_counter {
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Helpers to interact with userspace
|
* Helpers to interact with userspace
|
||||||
|
* res_counter_read_u64() - returns the value of the specified member.
|
||||||
* res_counter_read/_write - put/get the specified fields from the
|
* res_counter_read/_write - put/get the specified fields from the
|
||||||
* res_counter struct to/from the user
|
* res_counter struct to/from the user
|
||||||
*
|
*
|
||||||
|
@ -51,6 +52,8 @@ struct res_counter {
|
||||||
* @pos: and the offset.
|
* @pos: and the offset.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
u64 res_counter_read_u64(struct res_counter *counter, int member);
|
||||||
|
|
||||||
ssize_t res_counter_read(struct res_counter *counter, int member,
|
ssize_t res_counter_read(struct res_counter *counter, int member,
|
||||||
const char __user *buf, size_t nbytes, loff_t *pos,
|
const char __user *buf, size_t nbytes, loff_t *pos,
|
||||||
int (*read_strategy)(unsigned long long val, char *s));
|
int (*read_strategy)(unsigned long long val, char *s));
|
||||||
|
|
|
@ -93,6 +93,11 @@ ssize_t res_counter_read(struct res_counter *counter, int member,
|
||||||
pos, buf, s - buf);
|
pos, buf, s - buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u64 res_counter_read_u64(struct res_counter *counter, int member)
|
||||||
|
{
|
||||||
|
return *res_counter_member(counter, member);
|
||||||
|
}
|
||||||
|
|
||||||
ssize_t res_counter_write(struct res_counter *counter, int member,
|
ssize_t res_counter_write(struct res_counter *counter, int member,
|
||||||
const char __user *userbuf, size_t nbytes, loff_t *pos,
|
const char __user *userbuf, size_t nbytes, loff_t *pos,
|
||||||
int (*write_strategy)(char *st_buf, unsigned long long *val))
|
int (*write_strategy)(char *st_buf, unsigned long long *val))
|
||||||
|
|
Loading…
Reference in New Issue