* How does the client manage NFS3ERR_NOSPC ?
@ 2012-03-05 17:16 DENIEL Philippe
2012-03-05 21:01 ` Myklebust, Trond
0 siblings, 1 reply; 3+ messages in thread
From: DENIEL Philippe @ 2012-03-05 17:16 UTC (permalink / raw)
To: NFS list
Hi List,
I ran a stupid test (using the kernel's knfsd) : I filled up completely
a filesystem with a few big file. When it was 100% full (no free block
at all), I ran a dd on it.
The dd said it could write 793 blocks of size 1mb and failed on IO
error. At the end, I could see an empty file in the NFS exported tree.
Question is :
- why did I get EIO and not ENOSPC ?
- why did dd say "hey, I could write 793 blocks" when it wrote
nothing (and could not write anything).
Do you have an idea on that ?
Regards
Philippe
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: How does the client manage NFS3ERR_NOSPC ?
2012-03-05 17:16 How does the client manage NFS3ERR_NOSPC ? DENIEL Philippe
@ 2012-03-05 21:01 ` Myklebust, Trond
2012-03-05 21:42 ` Malahal Naineni
0 siblings, 1 reply; 3+ messages in thread
From: Myklebust, Trond @ 2012-03-05 21:01 UTC (permalink / raw)
To: DENIEL Philippe; +Cc: NFS list
T24gTW9uLCAyMDEyLTAzLTA1IGF0IDE4OjE2ICswMTAwLCBERU5JRUwgUGhpbGlwcGUgd3JvdGU6
DQo+IEhpIExpc3QsDQo+IA0KPiBJIHJhbiBhIHN0dXBpZCB0ZXN0ICh1c2luZyB0aGUga2VybmVs
J3Mga25mc2QpIDogSSBmaWxsZWQgdXAgY29tcGxldGVseSANCj4gYSBmaWxlc3lzdGVtIHdpdGgg
YSBmZXcgYmlnIGZpbGUuIFdoZW4gaXQgd2FzIDEwMCUgZnVsbCAobm8gZnJlZSBibG9jayANCj4g
YXQgYWxsKSwgSSByYW4gYSBkZCBvbiBpdC4NCj4gVGhlIGRkIHNhaWQgaXQgY291bGQgd3JpdGUg
NzkzIGJsb2NrcyBvZiBzaXplIDFtYiAgYW5kIGZhaWxlZCBvbiBJTyANCj4gZXJyb3IuIEF0IHRo
ZSBlbmQsIEkgY291bGQgc2VlIGFuIGVtcHR5IGZpbGUgaW4gdGhlIE5GUyBleHBvcnRlZCB0cmVl
Lg0KPiBRdWVzdGlvbiBpcyA6DQo+ICAgICAtIHdoeSBkaWQgSSBnZXQgRUlPIGFuZCBub3QgRU5P
U1BDID8NCg0KRGlkIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgcmV0dXJuIE5GUzNFUlJfTk9TUEMsIG9y
IGRpZCBpdCByZXR1cm4gc29tZXRoaW5nDQplbHNlPyBJZiB0aGUgc2VydmVyIHJldHVybnMgTkZT
M0VSUl9OT1NQQywgdGhlbiBJJ2QgZXhwZWN0IHRoZSBjbGllbnQgdG8NCnRyYW5zbGF0ZSB0aGF0
IGFzIEVOT1NQQy4NCg0KTm90ZSB0aGF0IGlmIHlvdSB3ZXJlIHVzaW5nIHNvZnQgbW91bnRzIChi
b28hIGhpc3MhKSwgdGhlbiB0aGUgY2xpZW50DQptYXkgaGF2ZSB0aW1lZCBvdXQgd2hpbGUgdGhl
IHNlcnZlciB3YXMgdHJ5aW5nIHRvIGZpbmQgZnJlZSBzcGFjZSBvbiB0aGUNCmZpbGVzeXN0ZW0u
IEluIHRoYXQgY2FzZSwgSSdkIGluZGVlZCBleHBlY3QgRUlPLg0KDQo+ICAgICAtIHdoeSBkaWQg
ZGQgc2F5ICJoZXksIEkgY291bGQgd3JpdGUgNzkzIGJsb2NrcyIgd2hlbiBpdCB3cm90ZSANCj4g
bm90aGluZyAoYW5kIGNvdWxkIG5vdCB3cml0ZSBhbnl0aGluZykuDQo+IERvIHlvdSBoYXZlIGFu
IGlkZWEgb24gdGhhdCA/DQoNClRoZSBjbGllbnQgY2FuJ3QgcHJlZGljdCB0aGUgc3RhdGUgb2Yg
dGhlIHNlcnZlci4NCg0KSXQgd2lsbCBmaWxsIHVwIGl0cyBjYWNoZSwgYW5kIHRoZW4gb25seSBm
aW5kIG91dCBhYm91dCB0aGUgRU5PU1BDIGVycm9yDQp3aGVuIGl0IHRyaWVzIHRvIHdyaXRlIG91
dCB0aGUgZGF0YS4gVGhhdCBpcyB0aGUgY29ycmVjdCB3YXkgdG8gb3B0aW1pc2UNCnRoZSBjbGll
bnQgYmVoYXZpb3VyIHdoZW4gd2UncmUgZGVhbGluZyB3aXRoIHdoYXQgc2hvdWxkIGJlIGEgdmVy
eSByYXJlDQpjb25kaXRpb24uDQoNClRyb25kDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXgg
TkZTIGNsaWVudCBtYWludGFpbmVyDQoNCk5ldEFwcA0KVHJvbmQuTXlrbGVidXN0QG5ldGFwcC5j
b20NCnd3dy5uZXRhcHAuY29tDQoNCg==
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: How does the client manage NFS3ERR_NOSPC ?
2012-03-05 21:01 ` Myklebust, Trond
@ 2012-03-05 21:42 ` Malahal Naineni
0 siblings, 0 replies; 3+ messages in thread
From: Malahal Naineni @ 2012-03-05 21:42 UTC (permalink / raw)
To: NFS list
Myklebust, Trond [Trond.Myklebust@netapp.com] wrote:
> On Mon, 2012-03-05 at 18:16 +0100, DENIEL Philippe wrote:
> > Hi List,
> >
> > I ran a stupid test (using the kernel's knfsd) : I filled up completely
> > a filesystem with a few big file. When it was 100% full (no free block
> > at all), I ran a dd on it.
> > The dd said it could write 793 blocks of size 1mb and failed on IO
> > error. At the end, I could see an empty file in the NFS exported tree.
> > Question is :
> > - why did I get EIO and not ENOSPC ?
>
> Did the server actually return NFS3ERR_NOSPC, or did it return something
> else? If the server returns NFS3ERR_NOSPC, then I'd expect the client to
> translate that as ENOSPC.
AFAIR, the server returns ENOSPC but the Linux client has a bug under
certain cases that returns it as EIO. Filed a bug and Neil sent a patch
but I have not tested it yet.
I tried with various versions and they gave some differing results. I
think in one case fsync() got ENOSPC but close() got EIO (or the other
way around?)
Regards, Malahal.
PS: Easy way to reproduce the problem, just run the following:
dd if=/dev/zero of=./testfile conv=fdatasync
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-03-05 21:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-05 17:16 How does the client manage NFS3ERR_NOSPC ? DENIEL Philippe
2012-03-05 21:01 ` Myklebust, Trond
2012-03-05 21:42 ` Malahal Naineni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).