Lines Matching refs:inode

32 int ncp_make_open(struct inode *inode, int right)  in ncp_make_open()  argument
38 if (!inode) { in ncp_make_open()
44 atomic_read(&NCP_FINFO(inode)->opened), in ncp_make_open()
45 NCP_FINFO(inode)->volNumber, in ncp_make_open()
46 NCP_FINFO(inode)->dirEntNum); in ncp_make_open()
48 mutex_lock(&NCP_FINFO(inode)->open_mutex); in ncp_make_open()
49 if (!atomic_read(&NCP_FINFO(inode)->opened)) { in ncp_make_open()
55 result = ncp_open_create_file_or_subdir(NCP_SERVER(inode), in ncp_make_open()
56 inode, NULL, OC_MODE_OPEN, in ncp_make_open()
64 result = ncp_open_create_file_or_subdir(NCP_SERVER(inode), in ncp_make_open()
65 inode, NULL, OC_MODE_OPEN, in ncp_make_open()
70 result = ncp_open_create_file_or_subdir(NCP_SERVER(inode), in ncp_make_open()
71 inode, NULL, OC_MODE_OPEN, in ncp_make_open()
83 ncp_update_inode(inode, &finfo); in ncp_make_open()
84 atomic_set(&NCP_FINFO(inode)->opened, 1); in ncp_make_open()
87 access = NCP_FINFO(inode)->access; in ncp_make_open()
90 atomic_inc(&NCP_FINFO(inode)->opened); in ncp_make_open()
95 mutex_unlock(&NCP_FINFO(inode)->open_mutex); in ncp_make_open()
104 struct inode *inode = file_inode(file); in ncp_file_read_iter() local
116 if (pos > inode->i_sb->s_maxbytes) in ncp_file_read_iter()
118 iov_iter_truncate(to, inode->i_sb->s_maxbytes - pos); in ncp_file_read_iter()
120 error = ncp_make_open(inode, O_RDONLY); in ncp_file_read_iter()
126 bufsize = NCP_SERVER(inode)->buffer_size; in ncp_file_read_iter()
141 error = ncp_read_bounce(NCP_SERVER(inode), in ncp_file_read_iter()
142 NCP_FINFO(inode)->file_handle, in ncp_file_read_iter()
163 ncp_inode_close(inode); in ncp_file_read_iter()
171 struct inode *inode = file_inode(file); in ncp_file_write_iter() local
183 errno = ncp_make_open(inode, O_WRONLY); in ncp_file_write_iter()
188 bufsize = NCP_SERVER(inode)->buffer_size; in ncp_file_write_iter()
210 if (ncp_write_kernel(NCP_SERVER(inode), in ncp_file_write_iter()
211 NCP_FINFO(inode)->file_handle, in ncp_file_write_iter()
226 if (pos > i_size_read(inode)) { in ncp_file_write_iter()
227 mutex_lock(&inode->i_mutex); in ncp_file_write_iter()
228 if (pos > i_size_read(inode)) in ncp_file_write_iter()
229 i_size_write(inode, pos); in ncp_file_write_iter()
230 mutex_unlock(&inode->i_mutex); in ncp_file_write_iter()
234 ncp_inode_close(inode); in ncp_file_write_iter()
238 static int ncp_release(struct inode *inode, struct file *file) { in ncp_release() argument
239 if (ncp_make_closed(inode)) { in ncp_release()