Hi lustre wizards. I''m trying to make user_xattr work, and either I''ve discovered a bug, or I''m doing something dumb, probably the latter. I''m running 2.6.12 vanilla, and lustre 1.6b4. No problems building or setting it up. But when I do the following, the client hangs: $ cd /mnt/lustre $ mkdir foo $ cd foo $ touch bar $ cp bar baz strace''ing cp reveals that it gets as far as doing a llistxattr, which hangs. Observing /var/log/messages on the client, I see Jul 14 09:30:40 localhost LustreError: 10201:0:(lib-move.c:110:lnet_match_md()) Matching packet 8207893 length 272 too big: 264 left, 264 allowed Digging a little deeper, I see that when I mounted the filesystem, as # mount -t lustre -o user_xattr mdt-server:/lustrefs /mnt/lustre I get an error; Jul 14 09:32:49 localhost Lustre: Disabling user_xattr feature because it is not supported on the server I''m not sure why it''s not supported by the server. I''ve dug around in various man pages, and done some amount of spelunking in the code, and it looks like user_xattr is meant to be supported, but for some reason it''s disabled. I tried specifying -o user_xattr when I mounted the various components on the servers, but that didn''t make any difference. I didn''t see anything in mkfs.lustre that jumped out at me; perhaps I need --mkfsoptions or --mountfsoptions? Any hints or info appreciated. My guess is that it''s a somewhat separate issue that some message size exceeds a buffer on the client. TIA...
You need to make sure that you have started your MDS with the user_xattr support enabled otherwise it won''t be available on the client. The same is true for ACL support too. Fergal. -- Fergal.McCarthy@HP.com (The contents of this message and any attachments to it are confidential and may be legally privileged. If you have received this message in error you should delete it from your system immediately and advise the sender. To any recipient of this message within HP, unless otherwise stated, you should consider this message and attachments as "HP CONFIDENTIAL".) -----Original Message----- From: lustre-discuss-bounces@clusterfs.com [mailto:lustre-discuss-bounces@clusterfs.com] On Behalf Of jrd@jrd.org Sent: 14 July 2006 14:43 To: lustre-discuss@clusterfs.com Subject: [Lustre-discuss] user_xattr Hi lustre wizards. I''m trying to make user_xattr work, and either I''ve discovered a bug, or I''m doing something dumb, probably the latter. I''m running 2.6.12 vanilla, and lustre 1.6b4. No problems building or setting it up. But when I do the following, the client hangs: $ cd /mnt/lustre $ mkdir foo $ cd foo $ touch bar $ cp bar baz strace''ing cp reveals that it gets as far as doing a llistxattr, which hangs. Observing /var/log/messages on the client, I see Jul 14 09:30:40 localhost LustreError: 10201:0:(lib-move.c:110:lnet_match_md()) Matching packet 8207893 length 272 too big: 264 left, 264 allowed Digging a little deeper, I see that when I mounted the filesystem, as # mount -t lustre -o user_xattr mdt-server:/lustrefs /mnt/lustre I get an error; Jul 14 09:32:49 localhost Lustre: Disabling user_xattr feature because it is not supported on the server I''m not sure why it''s not supported by the server. I''ve dug around in various man pages, and done some amount of spelunking in the code, and it looks like user_xattr is meant to be supported, but for some reason it''s disabled. I tried specifying -o user_xattr when I mounted the various components on the servers, but that didn''t make any difference. I didn''t see anything in mkfs.lustre that jumped out at me; perhaps I need --mkfsoptions or --mountfsoptions? Any hints or info appreciated. My guess is that it''s a somewhat separate issue that some message size exceeds a buffer on the client. TIA... _______________________________________________ Lustre-discuss mailing list Lustre-discuss@clusterfs.com https://mail.clusterfs.com/mailman/listinfo/lustre-discuss
From: "Mc Carthy, Fergal" <Fergal.McCarthy@hp.com> Date: Mon, 17 Jul 2006 09:12:13 +0100 You need to make sure that you have started your MDS with the user_xattr support enabled otherwise it won''t be available on the client. The same is true for ACL support too. Tried that: mdsserver# mount -t lustre -o user_xattr /dev/sda2 /mnt/lustrefsmdt didn''t generate any errors, but the client still claims the feature is not supported on the server. Is that not the right way to turn it on?
This is a bug. The MDT-specific options parsing call was skipped, so user_xattr and acls can''t be enabled. This was fixed on July 6; patch included below. Sorry about that :( jrd@jrd.org wrote:> From: "Mc Carthy, Fergal" <Fergal.McCarthy@hp.com> > Date: Mon, 17 Jul 2006 09:12:13 +0100 > > You need to make sure that you have started your MDS with the user_xattr > support enabled otherwise it won''t be available on the client. The same > is true for ACL support too. > >Tried that: > >mdsserver# mount -t lustre -o user_xattr /dev/sda2 /mnt/lustrefsmdt > >didn''t generate any errors, but the client still claims the feature is not >supported on the server. Is that not the right way to turn it on? > >_______________________________________________ >Lustre-discuss mailing list >Lustre-discuss@clusterfs.com >https://mail.clusterfs.com/mailman/listinfo/lustre-discuss > > >nathan 06/07/06 23:30:17 Modified: mds handler.c Log: Branch b1_5 b=8007 wasn''t parsing mds-specific mount opts Revision Changes Path 1.244.2.17.2.47.8.4.2.19 +9 -5 lustre-core/mds/handler.c Index: handler.c ==================================================================RCS file: /cvsroot/cfs/lustre-core/mds/handler.c,v retrieving revision 1.244.2.17.2.47.8.4.2.18 retrieving revision 1.244.2.17.2.47.8.4.2.19 diff -b -B -p -u -r1.244.2.17.2.47.8.4.2.18 -r1.244.2.17.2.47.8.4.2.19 --- handler.c 30 Jun 2006 15:05:31 -0000 1.244.2.17.2.47.8.4.2.18 +++ handler.c 6 Jul 2006 23:30:16 -0000 1.244.2.17.2.47.8.4.2.19 @@ -1770,6 +1770,9 @@ static void fsoptions_to_mds_flags(struc { char *p = options; + if (!options) + return; + while (*options) { int len; @@ -1780,25 +1783,24 @@ static void fsoptions_to_mds_flags(struc if (len == sizeof("user_xattr") - 1 && memcmp(options, "user_xattr", len) == 0) { mds->mds_fl_user_xattr = 1; + LCONSOLE_INFO("Enabling user_xattr\n"); } else if (len == sizeof("nouser_xattr") - 1 && memcmp(options, "nouser_xattr", len) == 0) { mds->mds_fl_user_xattr = 0; + LCONSOLE_INFO("Disabling user_xattr\n"); } else if (len == sizeof("acl") - 1 && memcmp(options, "acl", len) == 0) { #ifdef CONFIG_FS_POSIX_ACL mds->mds_fl_acl = 1; + LCONSOLE_INFO("Enabling ACL\n"); #else CWARN("ignoring unsupported acl mount option\n"); - memmove(options, p, strlen(p) + 1); - p = options; #endif } else if (len == sizeof("noacl") - 1 && memcmp(options, "noacl", len) == 0) { #ifdef CONFIG_FS_POSIX_ACL mds->mds_fl_acl = 0; -#else - memmove(options, p, strlen(p) + 1); - p = options; + LCONSOLE_INFO("Disabling ACL\n"); #endif } @@ -1843,6 +1845,8 @@ static int mds_setup(struct obd_device * /* We already mounted in lustre_fill_super. lcfg bufs 1, 2, 4 (device, fstype, mount opts) are ignored.*/ struct lustre_sb_info *lsi = s2lsi(lmi->lmi_sb); + fsoptions_to_mds_flags(mds, lsi->lsi_ldd->ldd_mount_opts); + fsoptions_to_mds_flags(mds, lsi->lsi_lmd->lmd_opts); mnt = lmi->lmi_mnt; obd->obd_fsops = fsfilt_get_ops(MT_STR(lsi->lsi_ldd)); } else {
What''s the bug number for the fix to MDT-specific option parsing? lustre-discuss-request@clusterfs.com wrote:>Date: Mon, 17 Jul 2006 09:54:52 -0700 >From: Nathaniel Rutman <nathan@clusterfs.com> >Subject: Re: [Lustre-discuss] user_xattr >To: jrd@jrd.org >Cc: lustre-discuss@clusterfs.com, "Mc Carthy, Fergal" > <Fergal.McCarthy@hp.com> >Message-ID: <44BBC0DC.4070108@clusterfs.com> >Content-Type: text/plain; charset=ISO-8859-1; format=flowed > >This is a bug. The MDT-specific options parsing call was skipped, so >user_xattr and acls can''t be enabled. >This was fixed on July 6; patch included below. Sorry about that :( > > >jrd@jrd.org wrote: > > > >> From: "Mc Carthy, Fergal" <Fergal.McCarthy@hp.com> >> Date: Mon, 17 Jul 2006 09:12:13 +0100 >> >> You need to make sure that you have started your MDS with the user_xattr >> support enabled otherwise it won''t be available on the client. The same >> is true for ACL support too. >> >>Tried that: >> >>mdsserver# mount -t lustre -o user_xattr /dev/sda2 /mnt/lustrefsmdt >> >>didn''t generate any errors, but the client still claims the feature is not >>supported on the server. Is that not the right way to turn it on? >> >>_______________________________________________ >>Lustre-discuss mailing list >>Lustre-discuss@clusterfs.com >>https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >> >> >> >> >> > > >nathan 06/07/06 23:30:17 > > Modified: mds handler.c > Log: > Branch b1_5 > b=8007 > wasn''t parsing mds-specific mount opts > >Revision Changes Path >1.244.2.17.2.47.8.4.2.19 +9 -5 lustre-core/mds/handler.c > >Index: handler.c >==================================================================>RCS file: /cvsroot/cfs/lustre-core/mds/handler.c,v >retrieving revision 1.244.2.17.2.47.8.4.2.18 >retrieving revision 1.244.2.17.2.47.8.4.2.19 >diff -b -B -p -u -r1.244.2.17.2.47.8.4.2.18 -r1.244.2.17.2.47.8.4.2.19 >--- handler.c 30 Jun 2006 15:05:31 -0000 1.244.2.17.2.47.8.4.2.18 >+++ handler.c 6 Jul 2006 23:30:16 -0000 1.244.2.17.2.47.8.4.2.19 >@@ -1770,6 +1770,9 @@ static void fsoptions_to_mds_flags(struc > { > char *p = options; > >+ if (!options) >+ return; >+ > while (*options) { > int len; > >@@ -1780,25 +1783,24 @@ static void fsoptions_to_mds_flags(struc > if (len == sizeof("user_xattr") - 1 && > memcmp(options, "user_xattr", len) == 0) { > mds->mds_fl_user_xattr = 1; >+ LCONSOLE_INFO("Enabling user_xattr\n"); > } else if (len == sizeof("nouser_xattr") - 1 && > memcmp(options, "nouser_xattr", len) == 0) { > mds->mds_fl_user_xattr = 0; >+ LCONSOLE_INFO("Disabling user_xattr\n"); > } else if (len == sizeof("acl") - 1 && > memcmp(options, "acl", len) == 0) { > #ifdef CONFIG_FS_POSIX_ACL > mds->mds_fl_acl = 1; >+ LCONSOLE_INFO("Enabling ACL\n"); > #else > CWARN("ignoring unsupported acl mount option\n"); >- memmove(options, p, strlen(p) + 1); >- p = options; > #endif > } else if (len == sizeof("noacl") - 1 && > memcmp(options, "noacl", len) == 0) { > #ifdef CONFIG_FS_POSIX_ACL > mds->mds_fl_acl = 0; >-#else >- memmove(options, p, strlen(p) + 1); >- p = options; >+ LCONSOLE_INFO("Disabling ACL\n"); > #endif > } > >@@ -1843,6 +1845,8 @@ static int mds_setup(struct obd_device * > /* We already mounted in lustre_fill_super. > lcfg bufs 1, 2, 4 (device, fstype, mount opts) are ignored.*/ > struct lustre_sb_info *lsi = s2lsi(lmi->lmi_sb); >+ fsoptions_to_mds_flags(mds, lsi->lsi_ldd->ldd_mount_opts); >+ fsoptions_to_mds_flags(mds, lsi->lsi_lmd->lmd_opts); > mnt = lmi->lmi_mnt; > obd->obd_fsops = fsfilt_get_ops(MT_STR(lsi->lsi_ldd)); > } else { > > > > > > > > >------------------------------ > >_______________________________________________ >Lustre-discuss mailing list >Lustre-discuss@clusterfs.com >https://mail.clusterfs.com/mailman/listinfo/lustre-discuss > > >End of Lustre-discuss Digest, Vol 6, Issue 24 >********************************************* > > > >
There''s no bug number - I fixed it as soon as I realized it was there. I could file one if you want it for some reason. Kris Corwin wrote:> What''s the bug number for the fix to MDT-specific option parsing? > > lustre-discuss-request@clusterfs.com wrote: > >> Date: Mon, 17 Jul 2006 09:54:52 -0700 >> From: Nathaniel Rutman <nathan@clusterfs.com> >> Subject: Re: [Lustre-discuss] user_xattr >> To: jrd@jrd.org >> Cc: lustre-discuss@clusterfs.com, "Mc Carthy, Fergal" >> <Fergal.McCarthy@hp.com> >> Message-ID: <44BBC0DC.4070108@clusterfs.com> >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >> >> This is a bug. The MDT-specific options parsing call was skipped, so >> user_xattr and acls can''t be enabled. >> This was fixed on July 6; patch included below. Sorry about that :( >> >> >> jrd@jrd.org wrote: >> >> >> >>> From: "Mc Carthy, Fergal" <Fergal.McCarthy@hp.com> >>> Date: Mon, 17 Jul 2006 09:12:13 +0100 >>> You need to make sure that you have started your MDS with the >>> user_xattr >>> support enabled otherwise it won''t be available on the client. The >>> same >>> is true for ACL support too. >>> Tried that: >>> >>> mdsserver# mount -t lustre -o user_xattr /dev/sda2 /mnt/lustrefsmdt >>> >>> didn''t generate any errors, but the client still claims the feature >>> is not >>> supported on the server. Is that not the right way to turn it on? >>> >>> _______________________________________________ >>> Lustre-discuss mailing list >>> Lustre-discuss@clusterfs.com >>> https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >>> >>> >>> >>> >> >> >> >> nathan 06/07/06 23:30:17 >> >> Modified: mds handler.c >> Log: >> Branch b1_5 >> b=8007 >> wasn''t parsing mds-specific mount opts >> >> Revision Changes Path >> 1.244.2.17.2.47.8.4.2.19 +9 -5 lustre-core/mds/handler.c >> >> Index: handler.c >> ==================================================================>> RCS file: /cvsroot/cfs/lustre-core/mds/handler.c,v >> retrieving revision 1.244.2.17.2.47.8.4.2.18 >> retrieving revision 1.244.2.17.2.47.8.4.2.19 >> diff -b -B -p -u -r1.244.2.17.2.47.8.4.2.18 -r1.244.2.17.2.47.8.4.2.19 >> --- handler.c 30 Jun 2006 15:05:31 -0000 1.244.2.17.2.47.8.4.2.18 >> +++ handler.c 6 Jul 2006 23:30:16 -0000 1.244.2.17.2.47.8.4.2.19 >> @@ -1770,6 +1770,9 @@ static void fsoptions_to_mds_flags(struc >> { >> char *p = options; >> >> + if (!options) >> + return; >> + >> while (*options) { >> int len; >> >> @@ -1780,25 +1783,24 @@ static void fsoptions_to_mds_flags(struc >> if (len == sizeof("user_xattr") - 1 && >> memcmp(options, "user_xattr", len) == 0) { >> mds->mds_fl_user_xattr = 1; >> + LCONSOLE_INFO("Enabling user_xattr\n"); >> } else if (len == sizeof("nouser_xattr") - 1 && >> memcmp(options, "nouser_xattr", len) == 0) { >> mds->mds_fl_user_xattr = 0; >> + LCONSOLE_INFO("Disabling user_xattr\n"); >> } else if (len == sizeof("acl") - 1 && >> memcmp(options, "acl", len) == 0) { >> #ifdef CONFIG_FS_POSIX_ACL >> mds->mds_fl_acl = 1; >> + LCONSOLE_INFO("Enabling ACL\n"); >> #else >> CWARN("ignoring unsupported acl mount >> option\n"); >> - memmove(options, p, strlen(p) + 1); >> - p = options; >> #endif >> } else if (len == sizeof("noacl") - 1 && >> memcmp(options, "noacl", len) == 0) { >> #ifdef CONFIG_FS_POSIX_ACL >> mds->mds_fl_acl = 0; >> -#else >> - memmove(options, p, strlen(p) + 1); >> - p = options; >> + LCONSOLE_INFO("Disabling ACL\n"); >> #endif >> } >> >> @@ -1843,6 +1845,8 @@ static int mds_setup(struct obd_device * >> /* We already mounted in lustre_fill_super. >> lcfg bufs 1, 2, 4 (device, fstype, mount opts) are >> ignored.*/ >> struct lustre_sb_info *lsi = s2lsi(lmi->lmi_sb); >> + fsoptions_to_mds_flags(mds, >> lsi->lsi_ldd->ldd_mount_opts); >> + fsoptions_to_mds_flags(mds, lsi->lsi_lmd->lmd_opts); >> mnt = lmi->lmi_mnt; >> obd->obd_fsops = fsfilt_get_ops(MT_STR(lsi->lsi_ldd)); >> } else { >> >> >>
yes, please. It helps to keep track the bug fixes we carry forward. Nathaniel Rutman wrote:> There''s no bug number - I fixed it as soon as I realized it was > there. I could file one if you want it for some reason. > > Kris Corwin wrote: > >> What''s the bug number for the fix to MDT-specific option parsing? >> >> lustre-discuss-request@clusterfs.com wrote: >> >>> Date: Mon, 17 Jul 2006 09:54:52 -0700 >>> From: Nathaniel Rutman <nathan@clusterfs.com> >>> Subject: Re: [Lustre-discuss] user_xattr >>> To: jrd@jrd.org >>> Cc: lustre-discuss@clusterfs.com, "Mc Carthy, Fergal" >>> <Fergal.McCarthy@hp.com> >>> Message-ID: <44BBC0DC.4070108@clusterfs.com> >>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>> >>> This is a bug. The MDT-specific options parsing call was skipped, >>> so user_xattr and acls can''t be enabled. >>> This was fixed on July 6; patch included below. Sorry about that :( >>> >>> >>> jrd@jrd.org wrote: >>> >>> >>> >>>> From: "Mc Carthy, Fergal" <Fergal.McCarthy@hp.com> >>>> Date: Mon, 17 Jul 2006 09:12:13 +0100 >>>> You need to make sure that you have started your MDS with the >>>> user_xattr >>>> support enabled otherwise it won''t be available on the client. >>>> The same >>>> is true for ACL support too. >>>> Tried that: >>>> >>>> mdsserver# mount -t lustre -o user_xattr /dev/sda2 /mnt/lustrefsmdt >>>> >>>> didn''t generate any errors, but the client still claims the feature >>>> is not >>>> supported on the server. Is that not the right way to turn it on? >>>> >>>> _______________________________________________ >>>> Lustre-discuss mailing list >>>> Lustre-discuss@clusterfs.com >>>> https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> nathan 06/07/06 23:30:17 >>> >>> Modified: mds handler.c >>> Log: >>> Branch b1_5 >>> b=8007 >>> wasn''t parsing mds-specific mount opts >>> >>> Revision Changes Path >>> 1.244.2.17.2.47.8.4.2.19 +9 -5 lustre-core/mds/handler.c >>> >>> Index: handler.c >>> ==================================================================>>> RCS file: /cvsroot/cfs/lustre-core/mds/handler.c,v >>> retrieving revision 1.244.2.17.2.47.8.4.2.18 >>> retrieving revision 1.244.2.17.2.47.8.4.2.19 >>> diff -b -B -p -u -r1.244.2.17.2.47.8.4.2.18 -r1.244.2.17.2.47.8.4.2.19 >>> --- handler.c 30 Jun 2006 15:05:31 -0000 1.244.2.17.2.47.8.4.2.18 >>> +++ handler.c 6 Jul 2006 23:30:16 -0000 1.244.2.17.2.47.8.4.2.19 >>> @@ -1770,6 +1770,9 @@ static void fsoptions_to_mds_flags(struc >>> { >>> char *p = options; >>> >>> + if (!options) >>> + return; >>> + >>> while (*options) { >>> int len; >>> >>> @@ -1780,25 +1783,24 @@ static void fsoptions_to_mds_flags(struc >>> if (len == sizeof("user_xattr") - 1 && >>> memcmp(options, "user_xattr", len) == 0) { >>> mds->mds_fl_user_xattr = 1; >>> + LCONSOLE_INFO("Enabling user_xattr\n"); >>> } else if (len == sizeof("nouser_xattr") - 1 && >>> memcmp(options, "nouser_xattr", len) == 0) { >>> mds->mds_fl_user_xattr = 0; >>> + LCONSOLE_INFO("Disabling user_xattr\n"); >>> } else if (len == sizeof("acl") - 1 && >>> memcmp(options, "acl", len) == 0) { >>> #ifdef CONFIG_FS_POSIX_ACL >>> mds->mds_fl_acl = 1; >>> + LCONSOLE_INFO("Enabling ACL\n"); >>> #else >>> CWARN("ignoring unsupported acl mount >>> option\n"); >>> - memmove(options, p, strlen(p) + 1); >>> - p = options; >>> #endif >>> } else if (len == sizeof("noacl") - 1 && >>> memcmp(options, "noacl", len) == 0) { >>> #ifdef CONFIG_FS_POSIX_ACL >>> mds->mds_fl_acl = 0; >>> -#else >>> - memmove(options, p, strlen(p) + 1); >>> - p = options; >>> + LCONSOLE_INFO("Disabling ACL\n"); >>> #endif >>> } >>> >>> @@ -1843,6 +1845,8 @@ static int mds_setup(struct obd_device * >>> /* We already mounted in lustre_fill_super. >>> lcfg bufs 1, 2, 4 (device, fstype, mount opts) >>> are ignored.*/ >>> struct lustre_sb_info *lsi = s2lsi(lmi->lmi_sb); >>> + fsoptions_to_mds_flags(mds, >>> lsi->lsi_ldd->ldd_mount_opts); >>> + fsoptions_to_mds_flags(mds, lsi->lsi_lmd->lmd_opts); >>> mnt = lmi->lmi_mnt; >>> obd->obd_fsops = fsfilt_get_ops(MT_STR(lsi->lsi_ldd)); >>> } else { >>> >>> >>> > >
From: Nathaniel Rutman <nathan@clusterfs.com> Date: Mon, 17 Jul 2006 09:54:52 -0700 This is a bug. The MDT-specific options parsing call was skipped, so user_xattr and acls can''t be enabled. This was fixed on July 6; patch included below. Sorry about that :( Thanks, that fixes the problem of griping that user_xattr is unsupported. Unfortunately, when I try to use cp (which uses xattr) I still get, in the client''s /var/log/messages, errors of the form: Jul 17 15:19:40 localhost LustreError: 15230:0:(lib-move.c:110:lnet_match_md()) Matching packet 28 length 272 too big: 264 left, 264 allowed Jul 17 15:19:40 localhost Lustre: 15230:0:(lib-move.c:152:lnet_match_md()) Dropping PUT from 12345-10.2.2.21@tcp portal 10 match 28 offset 0 length 272: no match Jul 17 15:21:20 localhost LustreError: 15334:0:(client.c:959:ptlrpc_expire_one_request()) @@@ timeout (sent at 1153163980, 100s ago) req@ffff810035ae1e00 x28/t0 o49->scx1-MDT0000_UUID@10.2.2.21@tcp:12 lens 264/264 ref 1 fl Rpc:/0/0 rc 0/0 Jul 17 15:21:20 localhost LustreError: scx1-MDT0000-mdc-ffff810029f1a400: Connection to service scx1-MDT0000 via nid 10.2.2.21@tcp was lost; in progress operations using this service will wait for recovery to complete. Jul 17 15:21:20 localhost Lustre: scx1-MDT0000-mdc-ffff810029f1a400: Connection restored to service scx1-MDT0000 using nid 10.2.2.21@tcp. Jul 17 15:21:20 localhost LustreError: 15334:0:(client.c:558:ptlrpc_check_reply()) @@@ RESEND: req@ffff810035ae1e00 x28/t0 o49->scx1-MDT0000_UUID@10.2.2.21@tcp:12 lens 264/264 ref 1 fl Rpc:S/0/0 rc -11/0 Jul 17 15:21:20 localhost LustreError: 15230:0:(lib-move.c:110:lnet_match_md()) Matching packet 28 length 272 too big: 264 left, 264 allowed Jul 17 15:21:20 localhost Lustre: 15230:0:(lib-move.c:152:lnet_match_md()) Dropping PUT from 12345-10.2.2.21@tcp portal 10 match 28 offset 0 length 272: no match Perhaps there''s a separate bug here, in the message-sending code? From the log, I''m guessing that something miscalculated how big its buffer was and constructed a message that overflowed when it arrived on the client end. Are there by chance any fixes in the pipeline?