All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Leon Romanovsky <leon@leon.nu>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Christoph Hellwig <hch@infradead.org>,
	Ira Weiny <ira.weiny@intel.com>,
	Dennis Dalessandro <dennis.dalessandro@intel.com>,
	dledford@redhat.com, linux-rdma@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, torvalds@linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] IB/hfi1: Remove write() and use ioctl() for user access
Date: Sat, 16 Apr 2016 20:19:17 +0100	[thread overview]
Message-ID: <20160416191917.GY25498@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20160416060042.GA6349@leon.nu>

On Sat, Apr 16, 2016 at 09:00:42AM +0300, Leon Romanovsky wrote:
> On Fri, Apr 15, 2016 at 05:37:32PM -0600, Jason Gunthorpe wrote:
> > On Sat, Apr 16, 2016 at 12:23:28AM +0300, Leon Romanovsky wrote:
> > 
> > > Intel as usual decided to do it in their way and the result is presented
> > > on this mailing list.
> > 
> > Dennis was pretty clear he was going to send the patches to address
> > Al's concern, which he has done.
> > 
> > I was also pretty clear I was looking to get rid of the char dev :)
> 
> Yes, and I was pretty clear that we need to converge on one common API
> prior to converting old code (including drivers in staging) in order to
> do it once only.

While we are at it, could the person who'd come up with ui_lseek() be located
and made to stand up and explain the rationale behind the SEEK_END semantics
therein?  To quote the manpage (and paraphrase just about any introductory
textbook):
       SEEK_END
              The file offset is set to the size of the file plus offset bytes.

I'm really curious - which part of "plus" might have lead to
        case SEEK_END:
                offset = ((dd->kregend - dd->kregbase) + DC8051_DATA_MEM_SIZE) -
                        offset;
and, if its author has decided that of course it _must_ have meant "minus",
why had he or she failed to post a correction to the manpage?  Or, on the
off-chance that this "plus" might have something to do with reality,
experimented with some file, for that matter.

Folks, this is a well-earned "F".  And not just for Unix Programming 101 -
the same semantics applies to fseek(3), which is a part of C standard.
Incidentally, lseek(fd, 0, SEEK_END) is "seek to end", not "fail with EINVAL".

As for the use of ioctl...  Frankly, considering the above, it does sound like
"that'll make them STFU about the weirdness - ioctl *is* weird, so there!"

Single-consumer APIs stink, film at 11...

  reply	other threads:[~2016-04-16 19:19 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-14 15:41 [PATCH 0/7] IB/hfi1: Remove write() and use ioctl() for user access Dennis Dalessandro
     [not found] ` <20160414153727.6387.96381.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2016-04-14 15:41   ` [PATCH 1/7] IB/hfi1: Export drivers user sw version via sysfs Dennis Dalessandro
2016-04-14 15:41     ` Dennis Dalessandro
2016-04-18 13:05     ` Christoph Hellwig
2016-04-14 15:41 ` [PATCH 2/7] IB/hfi1: Remove unused user command Dennis Dalessandro
2016-04-18 13:05   ` Christoph Hellwig
2016-04-14 15:41 ` [PATCH 3/7] IB/hfi1: Add ioctl() interface for user commands Dennis Dalessandro
2016-04-14 15:41 ` [PATCH 4/7] IB/hfi1: Remove write(), use ioctl() for user cmds Dennis Dalessandro
2016-04-14 15:42 ` [PATCH 5/7] IB/hfi1: Add trace message in user IOCTL handling Dennis Dalessandro
2016-04-14 15:42 ` [PATCH 6/7] IB/hfi1: Consolidate IOCTL defines Dennis Dalessandro
2016-04-14 15:42 ` [PATCH 7/7] IB/hfi1: Move eprom to its own device Dennis Dalessandro
2016-04-14 16:45 ` [PATCH 0/7] IB/hfi1: Remove write() and use ioctl() for user access Jason Gunthorpe
2016-04-14 17:48   ` Ira Weiny
     [not found]     ` <20160414174830.GA11641-no5AT4YuGWKtqXYlAKuG4QC/G2K4zDHf@public.gmane.org>
2016-04-14 18:05       ` Jason Gunthorpe
2016-04-14 18:05         ` Jason Gunthorpe
     [not found]         ` <20160414180540.GA12554-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-14 18:42           ` Dennis Dalessandro
2016-04-14 18:42             ` Dennis Dalessandro
     [not found]             ` <20160414184200.GA10416-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-04-14 18:56               ` Jason Gunthorpe
2016-04-14 18:56                 ` Jason Gunthorpe
     [not found]                 ` <20160414185659.GB12997-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-14 20:01                   ` Hefty, Sean
     [not found]                     ` <1828884A29C6694DAF28B7E6B8A82373AB041C34-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-14 20:35                       ` Woodruff, Robert J
2016-04-14 21:27                       ` Jason Gunthorpe
     [not found]                         ` <20160414212702.GA14137-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-15  0:02                           ` Ira Weiny
     [not found]                             ` <20160415000242.GA18400-no5AT4YuGWKtqXYlAKuG4QC/G2K4zDHf@public.gmane.org>
2016-04-15  0:30                               ` Hefty, Sean
2016-04-15  4:41                               ` Jason Gunthorpe
     [not found]                                 ` <20160415044124.GA16805-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-15 17:30                                   ` Hefty, Sean
     [not found]                                     ` <1828884A29C6694DAF28B7E6B8A82373AB0422AE-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-15 18:18                                       ` Jason Gunthorpe
     [not found]                                         ` <20160415181811.GA22322-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-15 21:04                                           ` Hefty, Sean
     [not found]                                             ` <1828884A29C6694DAF28B7E6B8A82373AB042530-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-15 21:14                                               ` Leon Romanovsky
2016-04-15 22:03                                               ` Jason Gunthorpe
     [not found]                                                 ` <20160415220340.GB24204-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-16 16:22                                                   ` Ira Weiny
2016-04-18 17:55                                                     ` Jason Gunthorpe
     [not found]                                                       ` <20160418175559.GC13865-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-18 18:15                                                         ` Dennis Dalessandro
     [not found]                                                           ` <20160418181535.GB7596-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-04-18 18:24                                                             ` Jason Gunthorpe
     [not found]                                                               ` <20160418182453.GA14930-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-19  1:36                                                                 ` Dennis Dalessandro
     [not found]                                                                   ` <20160419013649.GA28612-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-04-19 17:35                                                                     ` Jason Gunthorpe
2016-04-14 21:08                   ` Hefty, Sean
     [not found]                     ` <1828884A29C6694DAF28B7E6B8A82373AB041C90-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-14 21:40                       ` Jason Gunthorpe
2016-04-15  4:01     ` Leon Romanovsky
2016-04-15 16:17       ` Ira Weiny
2016-04-15 17:30         ` Leon Romanovsky
2016-04-15 17:30           ` Leon Romanovsky
2016-04-15 17:34           ` Christoph Hellwig
2016-04-15 17:44             ` Woodruff, Robert J
2016-04-15 21:03               ` Leon Romanovsky
     [not found]             ` <20160415173401.GA10868-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-15 17:46               ` Hefty, Sean
2016-04-15 17:46                 ` Hefty, Sean
2016-04-15 21:23             ` Leon Romanovsky
     [not found]               ` <20160415212328.GF10689-2ukJVAZIZ/Y@public.gmane.org>
2016-04-15 23:28                 ` Ira Weiny
2016-04-15 23:28                   ` Ira Weiny
2016-04-16  6:09                   ` Leon Romanovsky
     [not found]                     ` <20160416060940.GB6349-2ukJVAZIZ/Y@public.gmane.org>
2016-04-16 15:29                       ` Dennis Dalessandro
2016-04-16 15:29                         ` Dennis Dalessandro
2016-04-15 23:37               ` Jason Gunthorpe
2016-04-16  6:00                 ` Leon Romanovsky
2016-04-16 19:19                   ` Al Viro [this message]
     [not found]                     ` <20160416191917.GY25498-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2016-04-18 12:00                       ` Dennis Dalessandro
2016-04-18 12:00                         ` Dennis Dalessandro
2016-04-14 17:52   ` Dennis Dalessandro
     [not found]     ` <20160414175243.GA9310-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-04-14 18:46       ` Jason Gunthorpe
2016-04-14 18:46         ` Jason Gunthorpe
2016-04-20 20:36       ` Jason Gunthorpe
2016-04-20 20:36         ` Jason Gunthorpe
     [not found]         ` <20160420203616.GA28991-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-22 18:38           ` Dennis Dalessandro
2016-04-22 18:38             ` Dennis Dalessandro
     [not found]             ` <20160422183844.GB21996-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-04-26 15:23               ` Jason Gunthorpe
2016-04-26 15:23                 ` Jason Gunthorpe
     [not found]   ` <20160414164550.GC6247-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-18 13:09     ` Christoph Hellwig
2016-04-18 13:09       ` Christoph Hellwig
     [not found]       ` <20160418130909.GD11508-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-18 17:40         ` Jason Gunthorpe
2016-04-18 17:40           ` Jason Gunthorpe
     [not found]           ` <20160418174047.GB13865-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-18 18:24             ` Christoph Hellwig
2016-04-18 18:24               ` Christoph Hellwig
2016-04-19  3:45               ` Ira Weiny
     [not found]                 ` <20160419034548.GG27515-MvMViLc3Pe+yjJhlop0iC9h3ngVCH38I@public.gmane.org>
2016-04-19 18:40                   ` Christoph Hellwig
2016-04-19 18:40                     ` Christoph Hellwig
     [not found]               ` <20160418182411.GA4904-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-19 17:38                 ` Jason Gunthorpe
2016-04-19 17:38                   ` Jason Gunthorpe
     [not found]                   ` <20160419173817.GF20844-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-04-19 20:44                     ` Hefty, Sean
     [not found]                       ` <1828884A29C6694DAF28B7E6B8A82373AB0439B0-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-19 21:38                         ` Jason Gunthorpe
2016-04-20 20:46                         ` Doug Ledford
     [not found]                           ` <5717EAC1.6020602-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-26 13:05                             ` Doug Ledford
     [not found]                               ` <571F6795.8020808-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-26 15:21                                 ` Jason Gunthorpe
2016-04-27  5:21                                 ` Weiny, Ira
     [not found]                                   ` <2807E5FD2F6FDA4886F6618EAC48510E22EC6A98-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-27 14:45                                     ` Doug Ledford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160416191917.GY25498@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=hch@infradead.org \
    --cc=ira.weiny@intel.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=leon@leon.nu \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.