Whamcloud - gitweb
fs/lustre-release.git
21 years agoRoberts patch for chaos25
braam [Mon, 14 Oct 2002 20:11:53 +0000 (20:11 +0000)]
Roberts patch for chaos25

21 years agoAdd ignored file.
adilger [Mon, 14 Oct 2002 19:44:06 +0000 (19:44 +0000)]
Add ignored file.

21 years agoChanged test for src_eq_h into an assertion (always valid)
eeb [Mon, 14 Oct 2002 18:04:52 +0000 (18:04 +0000)]
Changed test for src_eq_h into an assertion (always valid)

21 years agoClean up some wildcards.
gord-fig [Mon, 14 Oct 2002 00:54:54 +0000 (00:54 +0000)]
Clean up some wildcards.

21 years agob=599178
pschwan [Sun, 13 Oct 2002 15:40:02 +0000 (15:40 +0000)]
b=599178
- Update ChangeLog for 0.5.14 (oops)
- ldlm/ldlm_lock.c: I reordered ldlm_lock2handle before, and in the process
  inserted a stupid bug; fixed.
- bug 599178 (don't permit multiple ldlm setup) fixed

21 years agominor nicety.
adilger [Sat, 12 Oct 2002 05:36:23 +0000 (05:36 +0000)]
minor nicety.

21 years agoRevert some of the CERROR->CDEBUG changes in recovery.
adilger [Fri, 11 Oct 2002 23:19:49 +0000 (23:19 +0000)]
Revert some of the CERROR->CDEBUG changes in recovery.

21 years agoMake lovstripe.c a bit more verbose when running the test.
adilger [Fri, 11 Oct 2002 21:24:05 +0000 (21:24 +0000)]
Make lovstripe.c a bit more verbose when running the test.

21 years agoFix up changebar generation--the order of the Makefile rules matters.
gord-fig [Fri, 11 Oct 2002 18:23:35 +0000 (18:23 +0000)]
Fix up changebar generation--the order of the Makefile rules matters.

21 years agoQuiet uninitialized variable warning.
adilger [Fri, 11 Oct 2002 17:37:13 +0000 (17:37 +0000)]
Quiet uninitialized variable warning.

21 years agoDamn all that spelling stuff anyways.
adilger [Fri, 11 Oct 2002 11:03:57 +0000 (11:03 +0000)]
Damn all that spelling stuff anyways.

21 years agoPoisoning of all cookies at free time (to work around slab cache bug, and
adilger [Fri, 11 Oct 2002 11:01:40 +0000 (11:01 +0000)]
Poisoning of all cookies at free time (to work around slab cache bug, and
also potential problems when we don't have CONFIG_DEBUG_SLAB enabled.
Rename OBD_PUNCH_EOF as OBD_OBJECT_EOF, since we use it in places other
than punch.

21 years agoPoisoning of all cookies at free time (to work around slab cache bug, and
adilger [Fri, 11 Oct 2002 10:56:05 +0000 (10:56 +0000)]
Poisoning of all cookies at free time (to work around slab cache bug, and
also potential problems when we don't have CONFIG_DEBUG_SLAB enabled.
Rename OBD_PUNCH_EOF as OBD_OBJECT_EOF, since we use it in places other
than punch.

Fix a boolean error when checking for no file locking.

21 years agoPoisoning of all cookies at free time (to work around slab cache bug, and
adilger [Fri, 11 Oct 2002 10:55:27 +0000 (10:55 +0000)]
Poisoning of all cookies at free time (to work around slab cache bug, and
also potential problems when we don't have CONFIG_DEBUG_SLAB enabled.
Rename OBD_PUNCH_EOF as OBD_OBJECT_EOF, since we use it in places other
than punch.

21 years agoRename obd_punch() parameters to what they should be.
adilger [Fri, 11 Oct 2002 10:46:06 +0000 (10:46 +0000)]
Rename obd_punch() parameters to what they should be.

21 years agoSend the correct (I think) client-LDLM export address when reconnecting.
shaver [Fri, 11 Oct 2002 06:33:51 +0000 (06:33 +0000)]
Send the correct (I think) client-LDLM export address when reconnecting.
I will now write 100 times on my whiteboard: reuse client_obd_connect.

21 years agoAnd "--force". Don't touch me. I'm fine!
shaver [Fri, 11 Oct 2002 04:47:08 +0000 (04:47 +0000)]
And "--force".  Don't touch me.  I'm fine!

21 years agoAdd -f to the short_opts. What was I smoking before, exactly?
shaver [Fri, 11 Oct 2002 04:42:16 +0000 (04:42 +0000)]
Add -f to the short_opts.  What was I smoking before, exactly?

21 years agoHeader changes for the delayed-alloc changes I previously made.
adilger [Fri, 11 Oct 2002 03:04:20 +0000 (03:04 +0000)]
Header changes for the delayed-alloc changes I previously made.

21 years agoSupport delayed creation of objects, including a test program.
adilger [Fri, 11 Oct 2002 00:47:39 +0000 (00:47 +0000)]
Support delayed creation of objects, including a test program.

21 years ago- Add D_HA for recovery diagnostics, and use it in a handful of places.
shaver [Thu, 10 Oct 2002 21:54:57 +0000 (21:54 +0000)]
- Add D_HA for recovery diagnostics, and use it in a handful of places.
- More information about replayed/sleeping/etc. requests.
- Instrument FH rewriting during open replay.

21 years ago* don't open for writing
rread [Thu, 10 Oct 2002 17:44:17 +0000 (17:44 +0000)]
* don't open for writing

21 years agoChange the number of OST buffers depending on how much ram we have. Yes,
adilger [Thu, 10 Oct 2002 17:36:45 +0000 (17:36 +0000)]
Change the number of OST buffers depending on how much ram we have.  Yes,
we could run out of space this way, but at least people will be able to
use Lustre on machines with < 2 GB of ram (that aren't UML).

21 years agob=621450
pschwan [Thu, 10 Oct 2002 17:11:19 +0000 (17:11 +0000)]
b=621450
Fix IA64 include problem; tested build on IA32 without incident.

21 years agob=602707
pschwan [Thu, 10 Oct 2002 16:47:36 +0000 (16:47 +0000)]
b=602707
b=620007
Fixes the ignored directory permissions bug, which was a direct cause of
the "la -la" bug.

- {push,pop}_ctxt now un-sets and re-sets CAP_DAC_OVERRIDE
- ll_lookup2 needs to be much more careful about which errors lead to a
negative dentry; I think I've gotten creations and unlinks right, but
we _so_ need a regression test that attempts a slew of error-causing
operations and verifies that we get the correct errors back.
- fix yet another ptlrpc_request-related crasher in mds/handler.c
- error during mds_reint_create is now par for the course; remove LBUG

21 years agoStill call mdc_close() if there was an error during obd_close(), or we
adilger [Thu, 10 Oct 2002 07:25:20 +0000 (07:25 +0000)]
Still call mdc_close() if there was an error during obd_close(), or we
will get a leak on the MDS for open file handles until that connection
is closed.

Don't revalidate the inode size if we have no objects allocated yet.

A note for Mike.

21 years ago* new test case (commented out) for bug #620096
rread [Thu, 10 Oct 2002 01:19:45 +0000 (01:19 +0000)]
* new test case (commented out) for bug  #620096

21 years agoWorkaround in lctl create for BA OST bug.
adilger [Wed, 9 Oct 2002 23:42:00 +0000 (23:42 +0000)]
Workaround in lctl create for BA OST bug.

21 years agoAdd UID/GID to lctl create, to work around BA OST bug.
adilger [Wed, 9 Oct 2002 23:29:10 +0000 (23:29 +0000)]
Add UID/GID to lctl create, to work around BA OST bug.

21 years agoSo. When we replay a request, we go through request_out_callback again,
shaver [Wed, 9 Oct 2002 21:15:22 +0000 (21:15 +0000)]
So.  When we replay a request, we go through request_out_callback again,
which is called when portals informs us that our message has been sent.
That will decref the request again, and unless it's been bumped for
each resend/replay, we will prematurely free it.  In addition to the
obvious evil of freeing it (which will take it off the sending_head
before we're really done with it), it also causes a deadlock when
free_req attempts to acquire req->rq_connection->c_lock -- which is
already held by the recovery replay loop!

This should make things better, and might even fix the MDS failover
test.

21 years agoRemove verbose debugging added recently.
adilger [Wed, 9 Oct 2002 20:11:47 +0000 (20:11 +0000)]
Remove verbose debugging added recently.

21 years agob=619803
pschwan [Wed, 9 Oct 2002 19:49:41 +0000 (19:49 +0000)]
b=619803
Unset cookie when freeing lock, check cookie before deref in handle2lock

21 years agoDon't LBUG on OOM in setup.
adilger [Wed, 9 Oct 2002 08:49:30 +0000 (08:49 +0000)]
Don't LBUG on OOM in setup.
Cosmetic fixes.

21 years agoAdd BA OST UUID extraction to MCR config script.
adilger [Tue, 8 Oct 2002 21:48:05 +0000 (21:48 +0000)]
Add BA OST UUID extraction to MCR config script.

21 years agoAdd an error message if we are trying to use a zero-length rpc buffer.
adilger [Tue, 8 Oct 2002 21:47:24 +0000 (21:47 +0000)]
Add an error message if we are trying to use a zero-length rpc buffer.

21 years agoFix leak_finder.pl script to work with new CDEBUG() format.
adilger [Tue, 8 Oct 2002 21:46:41 +0000 (21:46 +0000)]
Fix leak_finder.pl script to work with new CDEBUG() format.

21 years agoWorkaround in ll_create for BA OST hang bug - we were not setting the
adilger [Tue, 8 Oct 2002 21:45:33 +0000 (21:45 +0000)]
Workaround in ll_create for BA OST hang bug - we were not setting the
o_uid and o_gid fields to obd_create (nor the corresponding o_valid flags)
and the BA OSTs did like that one bit, and reset themselves (hence timeout).

For now, we set the uid = gid = 0 always, to avoid issues if the file
permissions are changed on the MDS (we would not see a corresponding
permission change on the OST).  Need to revisit this when we do kerberos
security properly.

21 years ago* update with the portals version, so builds work on alpha
rread [Tue, 8 Oct 2002 18:31:42 +0000 (18:31 +0000)]
* update with the portals version, so builds work on alpha

21 years agoComment out unused lock.
adilger [Tue, 8 Oct 2002 07:23:36 +0000 (07:23 +0000)]
Comment out unused lock.

21 years ago* Protect d_it with a semaphore, Part I
rread [Tue, 8 Oct 2002 06:52:45 +0000 (06:52 +0000)]
* Protect d_it with a semaphore, Part I
* this patch uses the new semaphore in the all places it will be needed, but
does not change where d_it is being set.

21 years ago* set l_resource to NULL when it is freed
rread [Tue, 8 Oct 2002 06:27:04 +0000 (06:27 +0000)]
* set l_resource to NULL when it is freed

21 years agob=619803
pschwan [Tue, 8 Oct 2002 03:33:15 +0000 (03:33 +0000)]
b=619803
Comment out spinlocks until tomorrow; they didn't fix the bug (I didn't
really think they would, but you have to hope), and they introduced a lock
inversion.

21 years agob=619803
pschwan [Mon, 7 Oct 2002 23:48:11 +0000 (23:48 +0000)]
b=619803
Add a spinlock around lock creation, deletion, and handle2lock.

21 years agoMore debugging.
adilger [Mon, 7 Oct 2002 22:10:38 +0000 (22:10 +0000)]
More debugging.

21 years agoA better fix from Eric.
adilger [Mon, 7 Oct 2002 20:58:34 +0000 (20:58 +0000)]
A better fix from Eric.

21 years agoRevert last change, it is broken.
adilger [Mon, 7 Oct 2002 20:56:59 +0000 (20:56 +0000)]
Revert last change, it is broken.

21 years agoTemporary fix to avoid lprocfs crashing.
adilger [Mon, 7 Oct 2002 20:52:52 +0000 (20:52 +0000)]
Temporary fix to avoid lprocfs crashing.
This needs to be cleaned up to have something like:

#define LPROCFS_GROUP_LAST {"0", NULL, NULL },
#define LPROCFS_DIR_LAST LPROCFS_GROUP_LAST

21 years agoAdd some debugging to try and catch OST locking.
adilger [Mon, 7 Oct 2002 18:52:10 +0000 (18:52 +0000)]
Add some debugging to try and catch OST locking.

21 years agoUse given client.txt file.
adilger [Mon, 7 Oct 2002 18:51:26 +0000 (18:51 +0000)]
Use given client.txt file.

21 years ago* fix compile on older gcc
rread [Mon, 7 Oct 2002 17:37:38 +0000 (17:37 +0000)]
* fix compile on older gcc

21 years ago* ensure the PATH in the environment includes the elements in DEFAULT_PATH
rread [Mon, 7 Oct 2002 17:02:52 +0000 (17:02 +0000)]
* ensure the PATH in the environment includes the elements in DEFAULT_PATH

21 years agob=614459
pschwan [Mon, 7 Oct 2002 16:46:26 +0000 (16:46 +0000)]
b=614459
b=618273
Peter opened my eyes to a serious problem with the OSC, which was the cause of
the O_APPEND extent bug.

21 years agob=618962
pschwan [Sun, 6 Oct 2002 00:24:44 +0000 (00:24 +0000)]
b=618962
- Temporary fix for 618962 by handling OPEN intents in revalidate

21 years agoMove debugging message outside spinlock.
adilger [Sat, 5 Oct 2002 14:11:23 +0000 (14:11 +0000)]
Move debugging message outside spinlock.

21 years agoDump debug log at cleanup time, in case of errors.
adilger [Sat, 5 Oct 2002 13:56:27 +0000 (13:56 +0000)]
Dump debug log at cleanup time, in case of errors.

21 years agoDocument the --dump option properly.
adilger [Sat, 5 Oct 2002 13:54:58 +0000 (13:54 +0000)]
Document the --dump option properly.

21 years agoDump debug log at end of test in case of error.
adilger [Sat, 5 Oct 2002 13:54:25 +0000 (13:54 +0000)]
Dump debug log at end of test in case of error.

21 years agoTwo fixed:
adilger [Sat, 5 Oct 2002 13:42:39 +0000 (13:42 +0000)]
Two fixed:
- refcounts on MDS module fixed, and problems with bogus exports
- unsafe list walking on the open file list of the MDS could cause
  random memory problems
- added real handles for open files on the MDS to ensure we don't
  dereference bogus pointers - mike you still need to clean up open
  files on the MDS for disconnect

21 years agoComment out unused variables to quiet compiler warnings.
adilger [Sat, 5 Oct 2002 09:45:20 +0000 (09:45 +0000)]
Comment out unused variables to quiet compiler warnings.
Remove dead code (it can always be had from CVS again).
Minor formatting.

21 years agoFix breakage in lconf.
adilger [Sat, 5 Oct 2002 04:31:45 +0000 (04:31 +0000)]
Fix breakage in lconf.

I guess when you are doing recovery, you never shut down cleanly...

21 years agoUnlock a lock that exists, fixing the build. (Thanks to Hari for pointing this
shaver [Sat, 5 Oct 2002 00:56:45 +0000 (00:56 +0000)]
Unlock a lock that exists, fixing the build.  (Thanks to Hari for pointing this
out; I don't know how I built before.)

21 years agoAdd verbosity flag.
adilger [Fri, 4 Oct 2002 23:42:33 +0000 (23:42 +0000)]
Add verbosity flag.

21 years ago- Add support for umount -f: it invalidates all in-flight and delayed requests
shaver [Fri, 4 Oct 2002 23:07:07 +0000 (23:07 +0000)]
- Add support for umount -f: it invalidates all in-flight and delayed requests
  and marks the connection(s) as invalid, so that future operations fail.
- Make the NEWCONN ioctl clear the CONN_INVALID flag.
- Remove a handful of unused members from ptlrpc_request.
- More informative and uniform req-failure (timeout, recovery, umount -f)
  reporting.
- Update runfailure-net a little; more work needed here.
- Add --force / -f to lconf for "umount -f" umounting.

21 years agoAdd openclose into the mix, to test EA creation and removal on the MDS.
adilger [Fri, 4 Oct 2002 23:03:27 +0000 (23:03 +0000)]
Add openclose into the mix, to test EA creation and removal on the MDS.
Seems to have payed off rather quickly.
Increment thread counts by 5 each time, and exit at < 196 threads (which
caused a problem for shmem somehow.

21 years ago- Make lustre_lite.h userspace-include-safe
pschwan [Fri, 4 Oct 2002 21:32:56 +0000 (21:32 +0000)]
- Make lustre_lite.h userspace-include-safe
- Make openclose.c do an ioctl a-la IOR for more testing

21 years ago. request buffering parameters as checked out on MCR
eeb [Fri, 4 Oct 2002 19:24:28 +0000 (19:24 +0000)]
. request buffering parameters as checked out on MCR
. #warning + reduced strength assertion on unlined_me
. fixed dynamically allocated IOVs getting freed too early

21 years agoAdd BKL for obdfilter also.
adilger [Fri, 4 Oct 2002 17:20:42 +0000 (17:20 +0000)]
Add BKL for obdfilter also.

21 years agoMake ldlm_cli_cancel_unused not return an error for invalid resource. This is
pschwan [Fri, 4 Oct 2002 14:29:59 +0000 (14:29 +0000)]
Make ldlm_cli_cancel_unused not return an error for invalid resource.  This is
a very common case, where a file is opened and then closed without locks having
been taken.

21 years agoMinor cleanups.
adilger [Fri, 4 Oct 2002 10:36:34 +0000 (10:36 +0000)]
Minor cleanups.

21 years agoUpdate journal_{start,stop} to have the BKL around them. This fixes a
adilger [Fri, 4 Oct 2002 09:54:32 +0000 (09:54 +0000)]
Update journal_{start,stop} to have the BKL around them.  This fixes a
number of serious bugs that were seen in the MDS.

21 years agoA script along the lines of runregression-net.sh and runregression-brw.sh,
adilger [Fri, 4 Oct 2002 08:45:36 +0000 (08:45 +0000)]
A script along the lines of runregression-net.sh and runregression-brw.sh,
which is rather simple-minded in its operations, but does lots of them.

21 years agoIf we are passed a bad connection handle don't oops.
adilger [Fri, 4 Oct 2002 08:00:09 +0000 (08:00 +0000)]
If we are passed a bad connection handle don't oops.

21 years agoDon't try to disconnect connections we don't have.
adilger [Fri, 4 Oct 2002 07:59:24 +0000 (07:59 +0000)]
Don't try to disconnect connections we don't have.

21 years agoProgram to create/destroy many files.
adilger [Fri, 4 Oct 2002 05:20:52 +0000 (05:20 +0000)]
Program to create/destroy many files.

21 years agoAdd a "threads" parameter too openclose, so you can easily launch lots of
adilger [Fri, 4 Oct 2002 05:00:46 +0000 (05:00 +0000)]
Add a "threads" parameter too openclose, so you can easily launch lots of
threads.

21 years agoRemoved strtok, replaced with strsep(threadsafe) for 2.5 kernel
thantry [Fri, 4 Oct 2002 00:05:45 +0000 (00:05 +0000)]
Removed strtok, replaced with strsep(threadsafe) for 2.5 kernel

21 years agoRemove all of the single-threaded-single-page read verifications.
adilger [Thu, 3 Oct 2002 22:45:55 +0000 (22:45 +0000)]
Remove all of the single-threaded-single-page read verifications.

21 years agoPack inode data into reply for mds_open().
adilger [Thu, 3 Oct 2002 22:29:57 +0000 (22:29 +0000)]
Pack inode data into reply for mds_open().

21 years agoAdded more debug to LProc cleanup
thantry [Thu, 3 Oct 2002 22:25:54 +0000 (22:25 +0000)]
Added more debug to LProc cleanup

21 years agoHelper functions for OST file handles.
adilger [Thu, 3 Oct 2002 22:15:56 +0000 (22:15 +0000)]
Helper functions for OST file handles.

21 years agoUpdated version of the header file for SNMP first code drop
thantry [Thu, 3 Oct 2002 21:49:14 +0000 (21:49 +0000)]
Updated version of the header file for SNMP first code drop

21 years agoAdded SNMP namespace minus the hierarchical info
thantry [Thu, 3 Oct 2002 21:48:26 +0000 (21:48 +0000)]
Added SNMP namespace minus the hierarchical info

21 years agoFirst set of changes for SNMP, allows reading of UUID
thantry [Thu, 3 Oct 2002 21:01:43 +0000 (21:01 +0000)]
First set of changes for SNMP, allows reading of UUID

21 years ago- rewrap lustre_lib, so it's readable in an 80-column emacs
pschwan [Thu, 3 Oct 2002 20:00:29 +0000 (20:00 +0000)]
- rewrap lustre_lib, so it's readable in an 80-column emacs
- add a touch more debugging to extent locking

21 years ago- Fix dumb iloop bug in dump_connection_list by properly using the list_head
shaver [Thu, 3 Oct 2002 19:45:04 +0000 (19:45 +0000)]
- Fix dumb iloop bug in dump_connection_list by properly using the list_head
  API. Sorry.

21 years agoDon't hold i_sem for invalidate_inode_pages() in ll_lock_callback() (I
adilger [Thu, 3 Oct 2002 19:35:25 +0000 (19:35 +0000)]
Don't hold i_sem for invalidate_inode_pages() in ll_lock_callback() (I
could have sworn I committed this yesterday).

Don't put obdos on the stack if we can avoid it.

21 years agoHandle error case when mdc_readpage() fails.
adilger [Thu, 3 Oct 2002 19:26:02 +0000 (19:26 +0000)]
Handle error case when mdc_readpage() fails.

21 years agoAdd client.c and target.c in place of l_net.c
adilger [Thu, 3 Oct 2002 19:09:28 +0000 (19:09 +0000)]
Add client.c and target.c in place of l_net.c

21 years agob=617434
pschwan [Thu, 3 Oct 2002 19:06:32 +0000 (19:06 +0000)]
b=617434
shaver's fix for the recovery NULL deref

21 years agoMore makefile fixes.
adilger [Thu, 3 Oct 2002 17:55:15 +0000 (17:55 +0000)]
More makefile fixes.

21 years agoDon't use relative paths for files as it breaks automake.
adilger [Thu, 3 Oct 2002 17:37:05 +0000 (17:37 +0000)]
Don't use relative paths for files as it breaks automake.

21 years ago- Add extent information to LDLM_DEBUG
pschwan [Thu, 3 Oct 2002 17:27:28 +0000 (17:27 +0000)]
- Add extent information to LDLM_DEBUG
- When we receive a completion AST for an extent lock, copy the new extent
  out of the lock_desc
- fix unbalanced ENTRY

21 years ago- Add some more verbose logging of the cases that get clients into recovery.
shaver [Thu, 3 Oct 2002 17:02:19 +0000 (17:02 +0000)]
- Add some more verbose logging of the cases that get clients into recovery.
- l_wait_event returns -EINTR, not -ERESTARTSYS.

21 years ago- Add mount-epoch checking in most (all?) inode-using operations, in preparation
shaver [Thu, 3 Oct 2002 16:45:43 +0000 (16:45 +0000)]
- Add mount-epoch checking in most (all?) inode-using operations, in preparation
  for inode poisoning during failed recovery.
- Chain superblocks off the associated connections, because they were the only
  things we weren't yet keeping in a list or three.  (Also, so we can find the
  right superblocks to poison during recovery.)
- Split l_net.c into client.c and target.c to avoid OST/MDS dependencies on
  llite, and soothe my soul.
- Build client.c and target.c as sources from other directories as needed,
  instead of symlinking them.  (Someone could do this with the rest of the
  symlinked stuff, or I'll get to it later.)

21 years agoFix problems if ext3 and extN have different sb_info structs.
adilger [Thu, 3 Oct 2002 05:37:28 +0000 (05:37 +0000)]
Fix problems if ext3 and extN have different sb_info structs.

21 years agob=617434
pschwan [Thu, 3 Oct 2002 02:34:05 +0000 (02:34 +0000)]
b=617434
Add some bulletproofing to sync_io_timeout, to try to fix this.

21 years agoBuildArch: noarch is still broken.
gord-fig [Thu, 3 Oct 2002 01:34:59 +0000 (01:34 +0000)]
BuildArch: noarch is still broken.

21 years agoAlways fill in the full body on reply to keep ll_lookup2 happy.
adilger [Wed, 2 Oct 2002 23:52:47 +0000 (23:52 +0000)]
Always fill in the full body on reply to keep ll_lookup2 happy.

21 years agoFix breakage caused earlier this week by over-optimization.
adilger [Wed, 2 Oct 2002 21:33:03 +0000 (21:33 +0000)]
Fix breakage caused earlier this week by over-optimization.

21 years agoSet the ino earlier - it appears that the second RPC reply does not set it.
adilger [Wed, 2 Oct 2002 20:18:23 +0000 (20:18 +0000)]
Set the ino earlier - it appears that the second RPC reply does not set it.