Messages in this thread | | | Date | Fri, 30 Nov 2007 15:04:35 -0800 | From | Chris Wedgwood <> | Subject | Re: [PATCH] xfs: revert to double-buffering readdir |
| |
On Fri, Nov 30, 2007 at 04:36:25PM -0600, Stephen Lord wrote:
> Looks like the readdir is in the bowels of the btree code when > filldir gets called here, there are probably locks on several > buffers in the btree at this point. This will only show up for large > directories I bet.
I see it for fairly small directories. Larger than what you can stuff into an inode but less than a block (I'm not checking but fairly sure that's the case).
> Just rambling, not a single line of code was consulted in writing > this message.
Can you explain why the offset is capped and treated in an 'odd way' at all?
+ curr_offset = filp->f_pos; + if (curr_offset == 0x7fffffff) + offset = 0xffffffff; + else + offset = filp->f_pos;
and later the offset to filldir is masked. Is that some restriction in filldir? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |