/me scratches head wondering how the ^*#! did it manage to disappear
from the version of patch sent to Linus...
--- S2-pre8/fs/super.c Fri Jan 4 22:59:27 2002
+++ linux/fs/super.c Fri Jan 4 23:02:06 2002
@@ -718,6 +718,10 @@
s->s_bdev = bdev;
s->s_flags = flags;
insert_super(s, fs_type);
+ error = -ENOMEM;
+ s->s_id = kmalloc(32, GFP_KERNEL);
+ if (!s->s_id)
+ goto failed;
strncpy(s->s_id, bdevname(dev), sizeof(s->s_id));
error = -EINVAL;
if (!fs_type->read_super(s, data, flags & MS_VERBOSE ? 1 : 0))
On Fri, 4 Jan 2002, Alexander Viro wrote:
> /me scratches head wondering how the ^*#! did it manage to disappear
> from the version of patch sent to Linus...
After another look... I see what had happened, but...
Linus, I doubt that making the thing inline was a good idea. Reason: for
filesystems like NFS we almost definitely want something like server name
+ root path to identify the superblock. And that can easily grow past
32 bytes.
On Fri, 4 Jan 2002, Alexander Viro wrote:
>
> Linus, I doubt that making the thing inline was a good idea. Reason: for
> filesystems like NFS we almost definitely want something like server name
> + root path to identify the superblock. And that can easily grow past
> 32 bytes.
Since it is only used for printouts, I'd much rather have simpler code.
Especially since I couldn't convince myself that all users in your version
even initialized the dang pointer.
There is nothing wrong with having a requirement that informational stuff
be limited to X characters..
Linus
On Fri, 4 Jan 2002, Linus Torvalds wrote:
>
> On Fri, 4 Jan 2002, Alexander Viro wrote:
> >
> > Linus, I doubt that making the thing inline was a good idea. Reason: for
> > filesystems like NFS we almost definitely want something like server name
> > + root path to identify the superblock. And that can easily grow past
> > 32 bytes.
>
> Since it is only used for printouts, I'd much rather have simpler code.
> Especially since I couldn't convince myself that all users in your version
> even initialized the dang pointer.
Set to NULL when we allocate superblock.
Allocated and set by get_sb_bdev() (which takes care of block filesystems)
Allocated and set by nfs_read_super() (which takes care of NFS).
That covers all users...
> There is nothing wrong with having a requirement that informational stuff
> be limited to X characters..
In principle - yes...
On Fri, 4 Jan 2002, Linus Torvalds wrote:
>
> On Fri, 4 Jan 2002, Alexander Viro wrote:
> >
> > Linus, I doubt that making the thing inline was a good idea. Reason: for
> > filesystems like NFS we almost definitely want something like server name
> > + root path to identify the superblock. And that can easily grow past
> > 32 bytes.
>
> Since it is only used for printouts, I'd much rather have simpler code.
FWIW, smbfs will want to know the servername + "share" used to mount it.
It will use that info to get smbconnect to do the proper magic to get a
new connection. So it doesn't have to be just printouts.
If this field is meant to be accessed by the fs code then I could put that
info there. Or someone could set it to dev_name in get_sb_nodev (if that
string is what I think it is).
Or I can do what I do now and pass it as a separate option and keep it in
a smbfs private area.
/Urban