public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Brian F. G. Bidulock" <bidulock@openss7.org>
To: Nathan Scott <nathans@sgi.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC]  Slimming down struct inode
Date: Thu, 15 Jun 2006 02:46:06 -0600	[thread overview]
Message-ID: <20060615024606.B5168@openss7.org> (raw)
In-Reply-To: <20060615170136.D898607@wobbly.melbourne.sgi.com>; from nathans@sgi.com on Thu, Jun 15, 2006 at 05:01:36PM +1000

Nathan,

On Thu, 15 Jun 2006, Nathan Scott wrote:
> 
> There is no IRIX/Linux compatibility layer, you're misunderstanding
> the code (which is understandable, its erm a bit crufty in places).

You gotta be kidding.  It does everything in terms of an SVR 4 VFS
vnode and then converts that to Linux VFS on dentries/inodes.  It was
obviously built by stuffing the Linux VFS under SVR 4 VFS code and
even documents the code as such.  Things like:

| /*
|  * XFS arguments structure, constructed from the arguments we
|  * are passed via the mount system call.
|  *
|  * NOTE: The mount system call is handled differently between
|  * Linux and IRIX.  In IRIX we worked work with a binary data
|  * structure coming in across the syscall interface from user
|  * space (the mount userspace knows about each filesystem type
|  * and the set of valid options for it, and converts the users
|  * argument string into a binary structure _before_ making the
|  * system call), and the ABI issues that this implies.
|  *
|  * In Linux, we are passed a comma separated set of options;
|  * ie. a NULL terminated string of characters.  Userspace mount
|  * code does not have any knowledge of mount options expected by
|  * each filesystem type and so each filesystem parses its mount
|  * options in kernel space.
|  *
|  * For the Linux port, we kept this structure pretty much intact
|  * and use it internally (because the existing code groks it).
|  */
| struct xfs_mount_args {
| 	int	flags;		/* flags -> see XFSMNT_... macros below */
| 	int	flags2;		/* flags -> see XFSMNT2_... macros below */
| 	int	logbufs;	/* Number of log buffers, -1 to default */
| 	int	logbufsize;	/* Size of log buffers, -1 to default */
| 	char	fsname[MAXNAMELEN+1];	/* data device name */
| 	char	rtname[MAXNAMELEN+1];	/* realtime device filename */
| 	char	logname[MAXNAMELEN+1];	/* journal device filename */
| 	char	mtpt[MAXNAMELEN+1];	/* filesystem mount point */
| 	int	sunit;		/* stripe unit (BBs) */
| 	int	swidth;		/* stripe width (BBs), multiple of sunit */
| 	uchar_t iosizelog;	/* log2 of the preferred I/O size */
| 	int	ihashsize;	/* inode hash table size (buckets) */
| };

No... No compatibility layer there.


  reply	other threads:[~2006-06-15  8:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-09 23:50 [RFC] Slimming down struct inode Theodore Ts'o
2006-06-10  0:24 ` Bernd Eckenfels
2006-06-10  1:27 ` Al Viro
2006-06-10  1:56   ` Theodore Tso
2006-06-10  6:24     ` Stefan Richter
2006-06-10 10:48 ` Jan Engelhardt
2006-06-10 15:04   ` Jeff Garzik
2006-06-13  4:35     ` Nathan Scott
2006-06-13  4:32   ` Nathan Scott
2006-06-13 14:00     ` Avi Kivity
2006-06-13 17:44       ` Theodore Tso
2006-06-13 18:08         ` Avi Kivity
2006-06-13 20:10           ` Jan Engelhardt
2006-06-13 20:25             ` Avi Kivity
2006-06-13 22:41       ` Nathan Scott
2006-06-14 10:29         ` Nikita Danilov
2006-06-14 21:50           ` Nathan Scott
2006-06-15  5:49             ` Theodore Tso
2006-06-15  7:01               ` Nathan Scott
2006-06-15  8:46                 ` Brian F. G. Bidulock [this message]
2006-06-15 10:20                   ` Nathan Scott
2006-06-14 23:27           ` Jan Engelhardt
2006-06-15 10:09             ` Nikita Danilov
2006-06-10 11:03 ` Tomasz Torcz
2006-06-10 15:06   ` Jeff Garzik
2006-06-15  0:16 ` Brian F. G. Bidulock
2006-06-15  4:43   ` Theodore Tso
2006-06-15  8:27     ` Brian F. G. Bidulock

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=20060615024606.B5168@openss7.org \
    --to=bidulock@openss7.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nathans@sgi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox