lkml.org 
[lkml]   [2007]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Interface for the new fallocate() system call
    On Thu, 29 Mar 2007 17:21:26 +0530 "Amit K. Arora" <aarora@linux.vnet.ibm.com> wrote:

    > Hello,
    >
    > We need to come up with the best possible layout of arguments for the
    > fallocate() system call. Various architectures have different
    > requirements for how the arguments should look like. Since the mail
    > chain has become huge, here is the summary of various inputs received
    > so far.
    >
    > Platform: s390
    > --------------
    > s390 prefers following layout:
    >
    > int fallocate(int fd, loff_t offset, loff_t len, int mode)
    >
    > For details on why and how "int, int, loff_t, loff_t" is a problem on
    > s390, please see Heiko's mail on 16th March. Here is the link:
    > http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg133595.html
    >
    > Platform: ppc, arm
    > ------------------
    > ppc (32 bit) has a problem with "int, loff_t, loff_t, int" layout,
    > since this will result in a pad between fd and offset, making seven
    > arguments total - which is not supported by ppc32. It supports only
    > 6 arguments. Thus the desired layout by ppc32 is:
    >
    > int fallocate(int fd, int mode, loff_t offset, loff_t len)
    >
    > Even ARM prefers above kind of layout. For details please see the
    > definition of sys_arm_sync_file_range().

    This is a clean-looking option. Can s390 be changed to support seven-arg
    syscalls?

    > Option of loff_t => high u32 + low u32
    > --------------------------------------
    > Matthew and Russell have suggested another option of breaking each
    > "loff_t" into two "u32"s. This will result in 6 arguments in total.
    >
    > Following think that this is a good alternative:
    > Matthew Wilcox, Russell King, Heiko Carstens
    >
    > Following do not like this idea:
    > Chris Wedgwood

    It's a bit weird-looking, but the six-32-bit-args approach is simple
    enought to understand and implement. Presumably the glibc wrapper
    would hide that detail from everyone.

    >
    > What are your thoughts on this ? What layout should we finalize on ?
    > Perhaps, since sync_file_range() system call has similar arguments, we
    > can take hint from the challenges faced on implementing it on various
    > architectures, and decide.
    >


    -
    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/

    \
     
     \ /
      Last update: 2007-03-29 19:21    [W:0.041 / U:59.888 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site