Hello On Thu, 2006-02-16 at 17:48 +0100, Peter Klotz wrote: > The function max_name_len_cde() in reiser4/plugin/item/cde40.c in my > opinion limits the file name length too strict. > > One finds: > > return > tree_by_inode(dir)->nplug->max_item_size() - > sizeof(directory_entry_format) - sizeof(cde_item_format) - > sizeof(cde_unit_header) - 2; > > I think the -2 can be safely changed to -1 since the only extra byte > that has to be taken into account is the terminating zero of the file > name in case a longname key is encountered. > > The maximum file name length in the original case is 3976 bytes if the > filesystem uses 4096 byte blocks. In this case the node header of the > node containing the cde40 item reports 1 byte of free space. > > 4096 block size > -28 sizeof(node40_header) > -38 sizeof(item_header40) > -2 sizeof(cde_item_format) > -26 sizeof(cde_unit_header) > -24 sizeof(directory_entry_format) > -1 terminating zero of file name > -1 ? > ----- > 3976 > > I changed the -2 to -1 and recompiled the kernel. Then I was able to > create a file with a 3977 byte name. In this case the node header > reports 0 bytes of free space. >
Thanks, we will fix it > Best regards, Peter. >
