export.c (cf9ce948f47640797bd19980e1d99c6d17d0bdc3) export.c (94e07a7590ae855bae0536c42b3086fadc7c83a8)
1/*
2 * fs/isofs/export.c
3 *
4 * (C) 2004 Paul Serice - The new inode scheme requires switching
5 * from iget() to iget5_locked() which means
6 * the NFS export operations have to be hand
7 * coded because the default routines rely on
8 * iget().

--- 111 unchanged lines hidden (view full) ---

120 /*
121 * WARNING: max_len is 5 for NFSv2. Because of this
122 * limitation, we use the lower 16 bits of fh32[1] to hold the
123 * offset of the inode and the upper 16 bits of fh32[1] to
124 * hold the offset of the parent.
125 */
126 if (parent && (len < 5)) {
127 *max_len = 5;
1/*
2 * fs/isofs/export.c
3 *
4 * (C) 2004 Paul Serice - The new inode scheme requires switching
5 * from iget() to iget5_locked() which means
6 * the NFS export operations have to be hand
7 * coded because the default routines rely on
8 * iget().

--- 111 unchanged lines hidden (view full) ---

120 /*
121 * WARNING: max_len is 5 for NFSv2. Because of this
122 * limitation, we use the lower 16 bits of fh32[1] to hold the
123 * offset of the inode and the upper 16 bits of fh32[1] to
124 * hold the offset of the parent.
125 */
126 if (parent && (len < 5)) {
127 *max_len = 5;
128 return 255;
128 return FILEID_INVALID;
129 } else if (len < 3) {
130 *max_len = 3;
129 } else if (len < 3) {
130 *max_len = 3;
131 return 255;
131 return FILEID_INVALID;
132 }
133
134 len = 3;
135 fh32[0] = ei->i_iget5_block;
136 fh16[2] = (__u16)ei->i_iget5_offset; /* fh16 [sic] */
137 fh16[3] = 0; /* avoid leaking uninitialized data */
138 fh32[2] = inode->i_generation;
139 if (parent) {

--- 53 unchanged lines hidden ---
132 }
133
134 len = 3;
135 fh32[0] = ei->i_iget5_block;
136 fh16[2] = (__u16)ei->i_iget5_offset; /* fh16 [sic] */
137 fh16[3] = 0; /* avoid leaking uninitialized data */
138 fh32[2] = inode->i_generation;
139 if (parent) {

--- 53 unchanged lines hidden ---