~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to include/linux/pipe_fs_i.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno, Martin Michlmayr
  • Date: 2011-04-06 13:53:30 UTC
  • mfrom: (43.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20110406135330-wjufxhd0tvn3zx4z
Tags: 2.6.38-3
[ Ben Hutchings ]
* [ppc64] Add to linux-tools package architectures (Closes: #620124)
* [amd64] Save cr4 to mmu_cr4_features at boot time (Closes: #620284)
* appletalk: Fix bugs introduced when removing use of BKL
* ALSA: Fix yet another race in disconnection
* cciss: Fix lost command issue
* ath9k: Fix kernel panic in AR2427
* ses: Avoid kernel panic when lun 0 is not mapped
* PCI/ACPI: Report ASPM support to BIOS if not disabled from command line

[ Aurelien Jarno ]
* rtlwifi: fix build when PCI is not enabled.

[ Martin Michlmayr ]
* rtlwifi: Eliminate udelay calls with too large values (Closes: #620204)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
#define PIPEFS_MAGIC 0x50495045
5
5
 
6
 
#define PIPE_BUFFERS (16)
 
6
#define PIPE_DEF_BUFFERS        16
7
7
 
8
8
#define PIPE_BUF_FLAG_LRU       0x01    /* page is on the LRU */
9
9
#define PIPE_BUF_FLAG_ATOMIC    0x02    /* was atomically mapped */
30
30
 *      struct pipe_inode_info - a linux kernel pipe
31
31
 *      @wait: reader/writer wait point in case of empty/full pipe
32
32
 *      @nrbufs: the number of non-empty pipe buffers in this pipe
 
33
 *      @buffers: total number of buffers (should be a power of 2)
33
34
 *      @curbuf: the current pipe buffer entry
34
35
 *      @tmp_page: cached released page
35
36
 *      @readers: number of current readers of this pipe
44
45
 **/
45
46
struct pipe_inode_info {
46
47
        wait_queue_head_t wait;
47
 
        unsigned int nrbufs, curbuf;
48
 
        struct page *tmp_page;
 
48
        unsigned int nrbufs, curbuf, buffers;
49
49
        unsigned int readers;
50
50
        unsigned int writers;
51
51
        unsigned int waiting_writers;
52
52
        unsigned int r_counter;
53
53
        unsigned int w_counter;
 
54
        struct page *tmp_page;
54
55
        struct fasync_struct *fasync_readers;
55
56
        struct fasync_struct *fasync_writers;
56
57
        struct inode *inode;
57
 
        struct pipe_buffer bufs[PIPE_BUFFERS];
 
58
        struct pipe_buffer *bufs;
58
59
};
59
60
 
60
61
/*
139
140
void pipe_unlock(struct pipe_inode_info *);
140
141
void pipe_double_lock(struct pipe_inode_info *, struct pipe_inode_info *);
141
142
 
 
143
extern unsigned int pipe_max_size, pipe_min_size;
 
144
int pipe_proc_fn(struct ctl_table *, int, void __user *, size_t *, loff_t *);
 
145
 
 
146
 
142
147
/* Drop the inode semaphore and wait for a pipe event, atomically */
143
148
void pipe_wait(struct pipe_inode_info *pipe);
144
149
 
154
159
int generic_pipe_buf_steal(struct pipe_inode_info *, struct pipe_buffer *);
155
160
void generic_pipe_buf_release(struct pipe_inode_info *, struct pipe_buffer *);
156
161
 
 
162
/* for F_SETPIPE_SZ and F_GETPIPE_SZ */
 
163
long pipe_fcntl(struct file *, unsigned int, unsigned long arg);
 
164
struct pipe_inode_info *get_pipe_info(struct file *file);
 
165
 
157
166
#endif