aboutsummaryrefslogtreecommitdiff
path: root/sys/gnu/fs/reiserfs
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2010-10-10 07:05:47 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2010-10-10 07:05:47 +0000
commitd0cc54f3b427a42751bb0a96ca8feaa6ac200073 (patch)
treea006cef67a086a26fbf62390901a1727666e6379 /sys/gnu/fs/reiserfs
parent21bf062e7e5319c852c5b7fbcab7fc6e19161c32 (diff)
downloadsrc-d0cc54f3b427a42751bb0a96ca8feaa6ac200073.tar.gz
src-d0cc54f3b427a42751bb0a96ca8feaa6ac200073.zip
The r184588 changed the layout of struct export_args, causing an ABI
breakage for old mount(2) syscall, since most struct <filesystem>_args embed export_args. The mount(2) is supposed to provide ABI compatibility for pre-nmount mount(8) binaries, so restore ABI to pre-r184588. Requested and reviewed by: bde MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=213664
Diffstat (limited to 'sys/gnu/fs/reiserfs')
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_mount.h2
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_vfsops.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/gnu/fs/reiserfs/reiserfs_mount.h b/sys/gnu/fs/reiserfs/reiserfs_mount.h
index f47c97610fca..fbb0b50a0eca 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_mount.h
+++ b/sys/gnu/fs/reiserfs/reiserfs_mount.h
@@ -39,7 +39,7 @@ struct reiserfs_mount {
/* Arguments to mount ReiserFS filesystems. */
struct reiserfs_args {
char *fspec; /* blocks special holding the fs to mount */
- struct export_args export; /* network export information */
+ struct oexport_args export; /* network export information */
};
#endif /* !defined _GNU_REISERFS_REISERFS_MOUNT_H */
diff --git a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
index 6b4272e9660e..1b5ce88eef9c 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
+++ b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
@@ -52,14 +52,16 @@ static int
reiserfs_cmount(struct mntarg *ma, void *data, int flags)
{
struct reiserfs_args args;
+ struct export_args exp;
int error;
error = copyin(data, &args, sizeof(args));
if (error)
return (error);
+ vfs_oexport_conv(&args.export, &exp);
ma = mount_argsu(ma, "from", args.fspec, MAXPATHLEN);
- ma = mount_arg(ma, "export", &args.export, sizeof args.export);
+ ma = mount_arg(ma, "export", &exp, sizeof(exp));
error = kernel_mount(ma, flags);